본문 바로가기
Understanding Python

[py] reverse()와 reversed()의 차이점

by Luciditas 2023. 6. 19.
728x90

Python에서 리스트의 요소를 뒤집을  때 reverse()reversed()를 사용한다.

이 둘 사이에는 차이점이 존재하는데 그것을 정리해보려고 한다.

 

reverse()

reverse()는 list에서만 사용할 수 있는 함수다.

li = [1,2,3,4,5]

li.reverse()
# [5,4,3,2,1]

여기서 reverse()의 핵심은 값을 반환하는 것이 아니라 변환만 시켜준다.

li = [1,2,3,4,5]
il = li.reverse()

print(il) #None

따라서 li.reverse()를 출력해도 None이 출력된다.

 

또한 reverse()는 list에서만 제공되는 함수이기 때문에 tuple, dictionary, string type은 지원하지 않는다.

 

reversed()

reversed()는 Python의 내장함수로서 iterable 객체의 순서를 뒤집어서 반환한다.

사용한 객체를 바꾸지 않고 역순으로 요소를 정렬한 새로운 객체를 리턴한다.

reversed객체를 리턴하기 때문에 list나 tuple로 활용이 가능하다.

li1 = [1,2,3,4,5]
li2 = "lee"

list(reversed(li1)) #[5,4,3,2,1]
"".join(list(reversed(li2))) # "eel"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90