Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 프로그램에서 문자열을 뒤집는 방법은 무엇입니까?

<시간/>

파이썬에는 문자열을 뒤집는 내장 함수가 없습니다. 따라서 문자열을 뒤집기 위해 자체 논리를 구현해야 합니다.

우리는 다른 방법을 사용하여 문자열을 뒤집을 것입니다.

FOR 루프 사용

이 방법의 배경은 문자열의 마지막 인덱스에서 시작하여 0번째 인덱스까지 역방향 루프를 사용하는 것입니다. 각 반복에서 문자열의 문자를 추가하여 반복이 끝날 때 반전된 문자열을 유지합니다.

우리가 따를 일반적인 절차를 살펴보겠습니다 -

  • a:=새 문자열

  • 문자열의 마지막 인덱스에서 0번째 인덱스로 루프하고 현재 인덱스에서 1 a=a+character 감소

  • 반환

예시

def reverse(s):
   a=""
   last_index=len(s)-1
   for i in range(last_index,-1,-1):
      a=a+s[i]
   return a
string="TutorialsPoint"
print(reverse(string))

출력

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

위의 접근 방식을 지능적으로 구현하면 다음과 같습니다. -

여기에서는 for each 루프를 사용하고 새 문자열의 시작 부분에 각 문자를 추가합니다.

새 문자열의 각 문자를 추가하면 반전된 문자열이 제공됩니다. for each 루프 대신 인덱스 0에서 문자열 길이까지 일반 루프를 사용할 수 있습니다.

예시

def reverse(s):
   a=""
   for i in s:
      a=i+a
   return a
string="TutorialsPoint"
print(reverse(string))

출력

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

While 루프 사용

for 루프를 while 루프로 대체할 수 있습니다. 마지막 인덱스에서 0번째 인덱스까지 while 루프를 반복하고 현재 인덱스의 각 문자를 새 문자열의 끝에 연결하여 반전된 문자열을 얻습니다.

예시

def reverse(s):
   a=""
   i=len(s)-1
   while(i>=0):
      a=a+s[i]
      i-=1
   return a
string="TutorialsPoint"
print(reverse(string))

출력

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

확장 슬라이스 구문 사용

확장 슬라이스 구문에는 [starts,end,step]의 세 가지 매개변수가 있습니다. 기본적으로 필드를 시작 및 끝으로 지정하지 않으면 시작이 0이고 문자열의 길이가 끝으로 지정됩니다. 단계를 '-1'로 지정하면 끝에서 시작하여 시작에서 중지를 의미합니다. 따라서 역 문자열을 얻습니다.

예시

def reverse(s):
   a=s[::-1]
   return a
string="TutorialsPoint"
print(reverse(string))
Using join and reversed()

출력

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

reversed()를 사용하여 함수를 뒤집을 수 있습니다. 그러나 reverse 함수는 반전된 반복자를 반환합니다. 따라서 문자열을 얻으려면 역방향 반복기의 문자를 결합해야 합니다.

join 및 reversed() 사용

예시

def reverse(s):
   a="".join(reversed(s))
   return a
string="TutorialsPoint"
print(reverse(string))

출력

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

재귀 사용

재귀를 사용하여 문자열을 뒤집을 수 있습니다. 인덱스 1에서 마지막으로 문자열을 전달하는 reverse 함수를 재귀적으로 호출합니다. 따라서 문자열을 반환하는 기본 경우인 0을 향해 문자열의 길이를 지속적으로 줄입니다. 따라서 각 재귀 호출에서 문자열을 인덱스 1에서 마지막으로 슬라이스하고 슬라이스된 문자열의 끝에서 첫 번째 문자를 연결합니다.

예시

def reverse(s):
   if(len(s)==0):
      return s
   else:
      return reverse(s[1:])+s[0]
string="TutorialsPoint"
print(reverse(string))

출력

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

이것들은 파이썬에서 문자열을 뒤집는 몇 가지 방법이었습니다. 우리는 파이썬에서 문자열을 뒤집는 다섯 가지 방법에 대해 논의했습니다.

어떤 방법을 사용하는 것이 가장 빠르고 가장 좋습니까?

문자열을 뒤집는 데 사용하는 가장 빠르고 가장 좋은 방법은 슬라이싱(방법 3)을 사용하는 것입니다. 파이썬에서 문자열을 뒤집는 모든 방법 중에서 가장 빠른 결과를 제공합니다. 이 방법은 단 한 줄의 코드로 구현되어 있고 우리 측에서 어떤 로직도 구현할 필요가 없기 때문에 구현하기가 매우 쉽습니다.