Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)에서 문자열을 뒤집는 2가지 방법

슬라이싱(Slicing)으로 문자열 뒤집기 — 가장 빠르고 간결한 방법

파이썬에서 문자열을 뒤집는 가장 대표적인 방법은 문자열 슬라이싱과 범위 연산자(range operator)를 활용하는 것입니다.

>>> 'Hello'[::-1]
'olleH'
>>> 'Halloween'[::-1]
'neewollaH'

[::-1]의 동작 원리

대괄호([]) 연산자는 콜론(:)으로 구분된 최대 3개의 값을 받을 수 있습니다.

  • 첫 번째 값: 시작 인덱스(start index)
  • 두 번째 값: 끝 인덱스(end index)
  • 세 번째 값: 스텝(stride), 즉 이동 간격

여기서는 스텝을 -1로 지정하고 나머지 두 값은 비워두었습니다. 이는 문자열의 처음부터 끝까지 한 글자씩 역방향으로 이동하라는 의미이며, 결과적으로 문자열 전체가 뒤집힙니다.

reversed() 함수와 join()으로 뒤집기 — 더 읽기 쉬운 방법

내장 함수인 reversed()를 사용하는 방법도 있습니다. 다소 느리지만 코드의 의도가 더 명확하게 드러난다는 장점이 있습니다.

>>> ''.join(reversed('Hello'))
'olleH'
>>> ''.join(reversed('Halloween'))
'neewollaH'

reversed()는 반복 가능한 객체(reversed iterator)를 반환하기 때문에, 그 결과를 다시 하나의 문자열로 만들어 주기 위해 join() 메서드가 필요합니다. 빈 문자열 ''에 대해 join을 호출하면 각 문자가 구분자 없이 그대로 이어 붙여집니다.

어떤 방법을 선택해야 할까?

일반적으로는 슬라이싱([::-1]) 방식이 성능 면에서 유리하고 파이썬 커뮤니티에서도 널리 사용되는 관용구(idiom)입니다. 반면, 코드의 가독성을 우선시하거나 팀 내 코딩 규칙상 명시적인 표현을 선호한다면 ''.join(reversed(...)) 방식을 사용하는 것이 좋습니다.