본문 바로가기
Python

Python에서 문자열을 뒤집는 5가지 방법

by 코딩하는 욤욤이 2024. 1. 28.
반응형

이 포스팅에서는 Python에서 문자열을 뒤집는 다양한 방법을 살펴보겠습니다.

우리가 알고 있듯이 reverse() 메서드를 사용하여 목록을 뒤집을 수 있지만 Python에는 문자열 에 대한 reverse() 메서드 가 없습니다 .

다음은 문자열을 뒤집는 몇 가지 대체적이고 쉬운 방법입니다.

Python에서 문자열을 뒤집는 방법
1. 루프 사용

string1 =  "the crazy programmer"
string2 = ""
 
i = len(string1)-1
 
while(i>=0):
  string2 = string2 + string1[i]
  i = i-1
 
print "original = " + string1
print "reverse  = " + string2


산출:

원본 = the crazy programmer


역 = remmargorp yzarc eht

위 프로그램에서는 string1의 마지막 인덱스(길이-1)에서 첫 번째 인덱스(0)까지 루프를 시작했습니다. 루프의 각 단계에서 string1의 오른쪽 문자를 선택하고 string2와 연결합니다.

2. 재귀 사용

def reverse_it(string):
  if len(string)==0:
    return string
  else:
    return reverse_it(string[1:]) + string[0]
    print "added " + string[0]
 
string1 = "the crazy programmer"
string2 = reverse_it(string1)
 
print "original = " + string1
print "reversed = " + string2


위 프로그램에는 문자열을 받아들이고 문자열이 비어 있는지 확인하는 reverse_it() 메서드가 있습니다.   비어 있으면 문자열을 반환하고, 그렇지 않으면 문자열을 두 번째 문자에서 마지막 문자로 전달하여 자신을 호출합니다. 성격.

String = “hello”

Print string[1:]


출력: 'ello'

reverse_it() 메소드를 계속 해서 호출한 후에 는 문자열이 비어 있는 시점이 있고 그 다음에는 조건이 적용됩니다.

len(string) == 0인 경우:


true이면 문자열을 반환합니다.  return 문은 실행이 시작된 곳에서 실행을 던집니다.

그래서

reverse_it(string[1:]) + string[0]을 반환합니다.

"+ string[0] " 이 다음에 실행되어 마지막에 첫 번째 문자가 추가됩니다.

3. 스택 사용

def create_stack():
  #it will  create a List named as stack and return it
  stack = []
  return stack
 
def push(stack,element):
  #it will add a new element to List
  stack.append(element)
 
def pop(stack):
  #it will delete the last element from  List
  if len(stack) == 0:
    return
  return stack.pop()
 
def reverse(string):
 
  #method to reverse the string using stack's functions
  n = len(string)
  
  #to create a empty list (stack)
  stack = create_stack()
 
  #inserting character of string into List
  for i in range(0,n):
    push(stack,string[i])
 
  #making string empty
  string = ""
 
  #getting last element of the List (stack) and storing it into string
  for i in range(0,n):
    string = string + pop(stack)
  return string
 
string1 = "the crazy programer"
string2 = reverse(string1)
 
print "original = " + string1
print "reversed = " + string2


위 프로그램에서는 push와 pop 기능을 갖는 스택 개념을 사용하고 있습니다 .

스택 개념을 구현하기 위해 우리는 목록을 사용하고 있습니다.

reverse() 메서드를 호출하면  'stack'이라는 이름의 목록이 생성되고 push() 메서드 를 사용하여 문자열의 모든 문자가 목록에 삽입됩니다 . 마침내 목록  의 모든 요소를 ​​마지막부터 처음까지 하나씩 가져 와서 문자열에 저장합니다.

4. 확장 슬라이스 사용

string = "the crazy programmer"
print "original = " + string
 
string = string[::-1]
print "reversed = " + string


대부분 확장된 슬라이스는 단계를 건너뛰는 데 사용되지만 세 번째 '단계' 또는 '스트라이드'  인수 에 -1을 넣으면 문자열, 목록 및 튜플의 반대를 얻을 수 있습니다.

5. 목록 사용

string = "the crazy programmer"
print "original = " + string
 
#convrting string into list
list1 = list(string)
 
#applying reverse method of list
list1.reverse()
 
#converting list into string
string = ''.join(list1)
print "reversed = " + string


문자열에는 reverse() 메서드가 없지만 목록 에는 있습니다. 그래서 우리는 문자열을 리스트로 변환하고 reverse()  연산을 수행한 후 ' '.join() 메소드를 사용하여 다시 문자열로 변환합니다 .

반응형

'Python' 카테고리의 다른 글

Python 빠른 정렬  (1) 2024.01.28
Python 병합 정렬  (1) 2024.01.28
Python 문자열을 정수로 변환  (0) 2024.01.28
Python 문자열을 날짜/시간으로 변환  (1) 2024.01.28
Python 매트릭스 추가  (0) 2024.01.28