Notice
Recent Posts
Recent Comments
Archives
반응형
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Total
01-09 05:35
250x250
관리 메뉴

꿈꾸는 개발자의 블로그

[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
Comments