성빈
[파이썬] list.reverse(), reversed(list) 차이 본문
list.reverse(), reversed(list) 차이
* reverse() 함수 : 리스트를 제자리에서 반대로 뒤집는 메서드
- 반환값이 없고, 리스트를 직접 수정한다.
따라서 list1.reverse()를 출력하려고 할 경우, 반환값이 없기 때문에 None이 출력된다.
list1 = [1, 2, 3, 4]
print(list1.reverse()) # 출력 : None
거꾸로 출력하려고 싶다면, 함수로써 동작을 시킨 후 직접 수정된 list1의 값을 출력해야한다.
(단, 리스트가 수정이 되기 때문에 이전의 값은 지워진다.)
list1 = [1, 2, 3, 4]
list1.reverse()
print(list1) # 출력 : [4, 3, 2, 1]
*reversed()함수 : 뒤집힌 리스트의 iterator를 반환하는 함수
- 반환값 : iterator
이 경우 반환값이 있지만, iterator로 반환이 되어 이 또한 원하는 결과가 아닐 것이다.
list1 = [1, 2, 3, 4]
print(reversed(list1)) # 출력 : <list_reverseiterator object at 0x7909098e9900>
이때에는 iterator를 다시 list로 변환하여 출력해야 한다. 때문에 list()함수로 감싼 뒤에 출력할 수 있다.
list1 = [1, 2, 3, 4]
print(list(reversed(list1))) # 출력 : [4, 3, 2, 1]
list.sort()와 sorted(list) 함수도 동일하게 적용된다.
'Python' 카테고리의 다른 글
[파이썬] 리스트, 딕셔너리 함수 (0) | 2025.01.04 |
---|