꿈꾸는 개발자의 블로그
[Python] 문자열 거꾸로 출력하기 : reverse(), reversed(), 슬라이싱(slicing) 본문
Programming/Python
[Python] 문자열 거꾸로 출력하기 : reverse(), reversed(), 슬라이싱(slicing)
aldrn29 2022. 6. 1. 23:45문자열 거꾸로 출력하는 방법에는 여러 가지가 있지만, 그 중 3가지 방법을 소개한다. 함수를 활용하는 방법과 리스트 슬라이싱을 통한 방법이다.
728x90
reverse()
reverse() 함수는 리스트에 적용되는 함수이기 때문에, 문자열을 리스트로 치환한 뒤 사용해주어야 한다.
word = 'hello'
temp = list(word) # 문자열을 list로 치환
temp.reverse() # reverse 함수 사용
print(''.join(temp)) # olleh
reversed()
reversed()는 문자열에 바로 적용이 가능하다. 하지만 결과는 제너레이터(iterator 를 생성해 주는 함수)이기 때문에 join()을 통해 문자열로 합쳐주는 과정이 필요하다.
word = 'hello'
print(''.join(reversed(word))) # 'olleh'
slicing
슬라이싱(slicing)이란 연속적인 객체들에 범위를 지정해서 선택한 객체를 가져오는 방법으로, 문자열 뿐만 아니라 리스트, 튜플에도 적용 가능하다. [start : end : step]으로 되어 있기 때문에 역순을 위해서는 마지막 부분에 -1을 해주면 된다. 특정 인덱스 범위가 아니라면 빈 상태로 두어 처음부터 끝까지 표현할 수 있다. 또한 end는 미포함으로 그 전 인덱스까지 출력을 하는데, 역순으로 할 경우 0번째 인덱스까지 출력하기 위해 [:-1:-1]라고 하면 출력 결과가 없으니 조심하자! 대신 [::-1]로 표현 가능하다.
word = '01234'
print(word[::]) # '01234'
print(word[::2]) # '024'
print(word[1:4:2]) # '13'
print(word[::-1]) # '43210'
print(word[4:1:-1]) # '432'
print(word[3:0:-1]) # '321'
print(word[3::-1]) # '3210'
print(word[3:-1:-1]) # -1번째 인덱스는 없기 때문에 출력 결과 없음
728x90
728x90
'Programming > Python' 카테고리의 다른 글
[Python] 2진수, 8진수, 10진수, 16진수 변환하기 (0) | 2022.07.29 |
---|---|
[Python] 문자와 아스키코드 변경하기 (0) | 2022.07.28 |
[Python] 딕셔너리(Dictionary) 키(Key), 값(Value) 기준으로 정렬하기 (0) | 2022.05.31 |
[Python] heapq (0) | 2022.05.30 |
[Python] 문자열 찾기 : in, find() (0) | 2022.05.29 |
Comments