영호

[Python] 문자열 뒤집기 - reverse(), s[::-1] 본문

Language/Python

[Python] 문자열 뒤집기 - reverse(), s[::-1]

0h0 2022. 6. 3. 23:36

들어가며

이번 글에서는 알고리즘 풀이 중 사용할 수 있는 문자열을 뒤집는 2가지의 방법에 대해 기록해보겠습니다.

  1. reverse()
  2. s[::-1]

반복문을 이용한 방법은 생략하겠습니다.

 

reverse()

  • 간단하게 리스트를 지정해 reverse()를 호출해주면 됩니다.
  • 문자열에는 reverse()가 동작하지 않기 때문에 list()를 이용해 변환 후 reverse()를 호출해야 합니다.
reverse_test = list("hi hello")
print(reverse_test)

reverse_test.reverse()
print(reverse_test)
['h', 'i', ' ', 'h', 'e', 'l', 'l', 'o']
['o', 'l', 'l', 'e', 'h', ' ', 'i', 'h']

 

s[::-1]

  • 문자열 슬라이싱을 이용한 방법입니다.
  • 슬라이싱에서 보통 : 를 기준으로 [시작idx : 끝idx]로 많이 사용합니다.
  • [시작idx:끝idx:step] 으로 사용할 수 있습니다. 여기서 step이란 for 문의 (0,4,2) 하면 2씩 증가하는 것처럼 접근하는 인덱스를 step만큼 건너뛰면서 접근한다는 의미입니다.
  • [::-1]의 의미는 문자열 혹은 리스트의 전체를 - 부호에 의해 젤 뒤에서부터 하나씩 접근한다는 의미입니다.
  • python sort의 lamba에서도 - 를 사용해 오름차순이 아닌 내림차순의 정렬이 가능합니다.
slicing_reverse = "slice reverse"
print(slicing_reverse)
print(slicing_reverse[::-1])
slice reverse
esrever ecils
  • 문자열과 리스트 모두 동일하게 사용 가능합니다.

'Language > Python' 카테고리의 다른 글

[Python] 조합, 순열 (combinations, permutations)  (0) 2022.06.04
[Python] Set  (0) 2022.06.03
[Python] defaultdict란?  (0) 2022.05.17
[Python] 파이썬 정렬, lambda사용  (0) 2022.05.10
Comments