영호
[Python] 문자열 뒤집기 - reverse(), s[::-1] 본문
들어가며
이번 글에서는 알고리즘 풀이 중 사용할 수 있는 문자열을 뒤집는 2가지의 방법에 대해 기록해보겠습니다.
- reverse()
- 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