본문 바로가기

프로그래밍 언어

[Python] 문자열 뒤집기

배열 뒤집기

🔹 s[::-1]는 슬라이싱(slicing) 문법

s = [1, 2, 3]
rev = s[::-1]

print(rev)  # [3, 2, 1] ✅
print(s)    # [1, 2, 3] ✅ 원본은 변경되지 않음

🔸 reverse(): 원본 리스트 자체를 뒤집는다

s = [1, 2, 3]
result = s.reverse()

print(result)  # None
print(s)       # [3, 2, 1] ← 원본이 바뀜
 

🔸 reversed(): 반복자를 반환

s = [1, 2, 3]
result = reversed(s)

print(result)        # <list_reverseiterator object at ...>
print(list(result))  # [3, 2, 1] ← 새로 만들어짐
print(s)             # [1, 2, 3] ← 원본 그대로 유지

 

❗ 오류가 발생하는 경우는?

reversed(map(str, res))  # ❌ 오류: reversed()는 map에 직접 적용 불가

' '.join(reversed(list(map(str, res)))) # ✅ map → list → reversed → OK

 

문자열 뒤집기

 

문자열 뒤집을 때는 항상

s[::-1] or ''.join(reversed(s))

 

.reverse() 없음.

s = "hello"
s.reverse()  # ❌ AttributeError: 'str' object has no attribute 'reverse'

 

 

'프로그래밍 언어' 카테고리의 다른 글

[Python] 진수 변환  (0) 2025.04.29
[Java] Scanner vs BufferedReader  (0) 2023.10.06