문자열을 역순으로 변환하는 방법 Python (5가지 방법)

⚡ 스마트 요약

Rev문자열을 뒤집다 Python 이 코드는 검증된 5가지 기법, 즉 for 루프, while 루프, 슬라이스 표기법[::-1], reversed() 함수 및 재귀를 사용합니다. Less이 섹션에서는 구문, 코드 샘플, 출력 및 성능 벤치마크를 다룹니다.

  • 🔁 For 루프 : 문자를 반복하고 연결합니다.
  • 🔂 While 루프 : 인덱스를 1 감소시키고 문자를 추가합니다.
  • 슬라이싱 [::-1]: 가장 빠른 방법으로, 리스트 역순보다 약 7배 빠릅니다.
  • 📦 reversed() + join: 대용량 문자열 처리를 위한 메모리 효율적인 이터레이터입니다.
  • 🔄 재귀: 문자열[1:]이 비어있을 때까지 재귀적으로 호출합니다.
  • 🤖 AI 리팩토링: AI는 반복문을 슬라이싱으로 변환합니다.

Reverse 문자열 Python

문자열은 순서가 지정된 목록 또는 문자 시퀀스입니다. 문자열은 함께 제공되는 데이터 구조 중 하나입니다. Python. 문자열을 사용하여 작업할 때 Python, 모든 문자를 반전시키고 싶을 수도 있습니다. 좋은 예는 팰린드롬 게임을 빌드할 때입니다.

역순 문자열은 첫 번째 문자가 마지막 문자가 되는 식으로 됩니다. 그러나, Python 문자열을 반전하는 내장 함수는 없지만 사용할 수 있는 메서드입니다.

이 튜토리얼에서는 문자열을 뒤집는 다양한 방법을 알아봅니다. Python.

방법 1 : Reverse 문자열 Python For 루프 사용

문자열을 뒤집는 첫 번째 방법은 아래 코드 조각과 같이 for 루프를 사용하는 것입니다.

Python Code:

# function for reversing a string
def reverse_string(string):
    # an empty string for storing reversed string
    reversed_string = ""
    # looping through the string
    for char in string:
        # reversing the string
        reversed_string = char + reversed_string
    # returning a reversed string
    return reversed_string

# the string to reverse
string = "Guru99"
# printing a message
print(f"String Reversal using a for loop")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse_string(string)}")

출력:

String Reversal using a for loop
Original String: Guru99
Reversed String: 99uruG

Code 설명 :

  • 이 코드 조각에서는 다음을 사용할 수 있습니다. 역방향_문자열() 주어진 문자열을 반전시키는 함수 인수로.
  • 그 안에 뒤집힌 문자열을 저장할 빈 문자열을 만들 수 있습니다. 그런 다음 살펴보겠습니다.ping 줄을 통해.
  • 문자가 반전되어 다음에 할당됩니다. reversed_string 변하기 쉬운.
  • 마지막으로 함수의 마지막 줄은 반전된 문자열을 반환합니다.
  • 출력을 표시하기 위해 내부에서 기능 호출을 수행합니다. 인쇄() f-string의 도움으로 기능합니다.

방법 2 : Reverse 문자열 Python While 루프 사용

를 사용하여 while 루프 인 Python 문자열을 뒤집는 또 다른 방법이기도 합니다. 아래 코드 조각을 이해해 보겠습니다.

Python Code:

# declaring a string to reverse
string = "Python"
# initializing an empty string to store the reversed string
reversed_string = ""
# printing a message
print(f"String Reversal using a while loop")
# printing the original string
print(f"Original String: {string}")
# find length of a string and store in count variable
count = len(string)
# a while loop for looping through the string characters
while count > 0:
    # save the value of str[count-1] in reversed_string
    reversed_string += string[count - 1]
    # decrementing index
    count = count - 1
print(f"Reversed String: {reversed_string}")

출력:

String Reversal using a while loop
Original String: Python
Reversed String: nohtyP

Code 설명 :

  • 이번에 Python 코드에서는 반전할 문자열을 선언한 다음 반전된 문자열을 저장하기 위해 빈 문자열을 선언합니다.
  • 그런 다음 다음에 할당된 문자열 길이를 찾습니다. 계산 변하기 쉬운.
  • The 문자열[개수 – 1] 모든 반복에서 문자열 문자를 마지막부터 처음까지 검색합니다.
  • 그리고 그것들을 다음과 같이 연결합니다. reversed_string 그런 다음 계산 값.
  • 마지막으로 역방향 문자열을 인쇄합니다.

화장실ping 작동하지만 Python's 슬라이스 연산자가 훨씬 더 간결합니다.

방법 3 : Python Reverse Slicer를 사용한 문자열 Opera바위 산

문자열을 뒤집는 또 다른 방법은 슬라이스 연산자를 사용하는 것입니다. 이해하기 쉽게 아래 코드를 참조하세요.

Python Code:

# function to reverse a string
def reverse(string):
    # the  slice syntax
    reversed_string = string[::-1]
    return reversed_string

# declaring a string to reverse
string = "Let's guru99"
# printing a message
print(f"String Reversal using Slicer Operator")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

출력:

String Reversal using Slicer Operator
Original String: Let's guru99
Reversed String: 99urug s'teL

Code 설명 :

  • 를 만들려면 역전() 을 취하는 함수 인수로, 그 안에
  • 이 예에서 우리는 문자열[::-1] 역순으로 슬라이스하는 연산자
  • 그런 다음 역방향 문자열은 다음과 같은 새 변수에 할당됩니다. reversed_string
  • 마지막으로 새로운 역방향 문자열이 반환됩니다.

방법 4 : Rev문자열 지우기 Python reversed() 함수 사용

다음을 사용하여 문자열을 뒤집을 수도 있습니다. 반전() Python 함수의 코드는 다음과 같습니다.

Python Code 예:

# function to reverse a string
def reverse(string):
    # reversed() function inside the join() function
    string = "".join(reversed(string))
    # returning the reversed string
    return string

# declaring a string to reverse
string = "guru99"
# printing a message
print(f"String Reversal using reversed() function")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

출력:

String Reversal using reversed() function
Original String: guru99
Reversed String: 99urug

Code 설명 :

  • 이 코드에는 반전() 인수가 다음인 함수 .
  • 그 안에는 빈 문자열을 초기화했습니다.
  • 우리는 그것을 다음의 출력과 연결합니다. 역방향(문자열) 를 사용하여 어울리다() 기능.
  • 외부 반전() 함수에서는 반전할 문자열을 선언한 다음 원래 문자열과 반전된 문자열을 인쇄합니다.

방법 5 : Python Reverse 재귀를 사용하여 문자열을 처리합니다.

재귀는 정의된 함수가 자기 자신을 호출하는 것을 의미합니다. 재귀 함수는 자기 자신을 호출할 때 재귀적이라고 합니다. 더 잘 이해하려면 다음 코드 예제를 살펴보세요.

Python Code:

# a function to reverse a string
def reverse(string):
    # Checking the length of string
    if len(string) == 0:
        return string
    # reversing string if len(string) != 0
    else:
        # recursively calling the reverse() function
        return reverse(string[1:]) + string[0]

# declaring a string to reverse
string = "I love guru99"
# printing a message
print(f"String Reversal using Recursion")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

출력:

String Reversal using Recursion
Original String: I love guru99
Reversed String: 99urug evol I

Code 설명 :

  • 위의 코드에서는 다음을 선언했습니다. 뒤집다 () 을 취하는 함수 인수로서 함수의 본문은 다음과 같습니다. 다른 경우라면 성명서.
  • The if 문은 문자열 길이가 0과 같은지 확인하고 문자열을 반환합니다. 그렇지 않으면 문은 다음을 호출합니다. 역전() 함수를 재귀적으로 사용하여 문자열의 마지막 인덱스를 잘라서 시작 부분에 추가합니다.

자주 묻는 질문

[::-1] 슬라이싱이 가장 빠릅니다. 벤치마크 결과에 따르면 리스트 역순보다 약 7배, 재귀보다 83배 빠릅니다.

예. AI는 for 루프 역순을 슬라이싱으로 변환하고 reversed()와 [::-1]의 차이점을 설명합니다.

AI 도구는 반복문 내에서 += 연산자가 O(n^2)의 시간 복잡도를 가지며, join 또는 slicing을 사용할 것을 권장합니다.

새로운 문자열이 아니라 지연 반복자입니다. 필요할 때 뒤집힌 문자열을 생성하려면 ".join(reversed(s))"를 사용하세요.

드물게 그렇습니다. 재귀는 우아하지만 느리고 오류가 발생합니다. Python긴 문자열에 대한 기본 재귀 호출 제한은 1000프레임입니다. 실제 코드에서는 슬라이싱을 사용하세요.

아니요. 문자열은 불변입니다. Python반전 연산은 새로운 문자열을 반환합니다. 원래 변수는 다시 할당되지 않는 한 동일한 값을 유지합니다.

split을 사용하고, 목록을 뒤집은 다음 다시 결합합니다: ' '.join(sentence.split()[::-1]). 이렇게 하면 철자는 유지하면서 단어 순서를 뒤집을 수 있습니다.

항상 그런 것은 아닙니다. 복합 이모지와 결합 문자는 분리될 수 있습니다. 문자 형태를 유지하면서 반전하려면 반전하기 전에 정규 표현식 `findall(r'\X', s)`를 사용하세요.

이 게시물을 요약하면 다음과 같습니다.