Seongwon Lim

[Python] 숫자, 문자열 거꾸로 출력하기 본문

Python

[Python] 숫자, 문자열 거꾸로 출력하기

limsw 2022. 7. 12. 21:34
반응형

서론

이번 글에서는 파이썬의 정수, 문자열을 거꾸로 뒤집어서 출력하는 방법을 살펴본다.

정수를 거꾸로 출력하기

num = 102394

reversed_num = int(str(num)[::-1])
print(reversed_num) # 493201

 

반복문을 통해 맨뒤 숫자부터 이어 붙이고 정수로 바꾸는 방법도 있지만, 문자열 슬라이싱을 사용하면 간단하게 숫자를 뒤집을 수 있다.

위 코드는 숫자를 먼저 문자열 타입으로 변환하고, 문자열 슬라이싱을 통해 뒤에서부터 문자열을 새롭게 구성한 뒤 다시 정수로 바꾼 것이다.

 

파이썬에서 문자열을 슬라이싱 할 때에는 [시작:끝:조건] 을 명시하여 사용할 수 있다.

 

  • 예를 들어, 위의 num 변수에서 num[1:4] 는 첫번째 인덱스 ~ 세번째 인덱스를 의미한다. (023)
  • 조건에 값이 들어가지 않으면 기본 값은 1이다. 1의 의미는 앞에서부터 문자열을 슬라이싱 한다는 뜻이다.
  • 반대로 조건에 -1이 들어가면 맨 뒤에서부터 맨 앞 글자까지 거꾸로 문자열을 슬라이싱 한다는 뜻이다.

필자는 조건에 -1을 넣어 문자열을 거꾸로 슬라이싱 하도록 하여 새로운 문자열을 구성했다.

그리고 거꾸로 뒤집은 문자열을 다시 정수 타입으로 바꾸어 결과적으로 뒤집힌 정수가 출력되도록 했다.

 

문자열 거꾸로 출력하기 - 문자열 슬라이싱 이용하기

문자열 슬라이싱을 이용해서 문자열을 뒤집는 경우는 정수를 뒤집는 방법과 동일하다.

sentence = "Hello World"

reversed_sentence = sentence[::-1]
print(reversed_sentence) # dlroW olleH

문자열 거꾸로 출력하기 - 리스트의 reverse() 함수 이용하기

문자열은 기본적으로 reverse() 함수를 지원하지 않는다.

 

그러나, 파이썬의 리스트는 reverse() 함수를 지원하고 있다. 따라서 문자열을 리스트로 바꿔준 뒤 reverse() 함수를 통해 리스트를 뒤집고 해당 리스트를 다시 문자열로 합치는 방법이 있다.

sentence = "Hello World"
listed_sentence = list(sentence) # ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
listed_sentence.reverse() # ['d', 'l', 'r', 'o', 'W', ' ', 'o', 'l', 'l', 'e', 'H']

print(''.join(listed_sentence)) # dlroW olleH

 

Comments