Language/Python

[Python] list.sort()와 sorted(list) 차이

Junhong Kim 2019. 1. 12. 23:52
728x90
반응형


파이썬에서 <list>.sort() 메서드와 built-in 함수 sorted(<list>)의 차이를 알아봅니다.


<list>.sort()

list.sort([reverse=<True|False>][, key=<function>])

- 원본 리스트를 정렬하되 반환 값은 None 입니다.

- 원본 리스트의 순서를 변경합니다. (원본 리스트에 영향 있음)


예제

l1 = [1, 3, 2]
print(l1.sort())
# None
print(l1)
# [1, 2, 3]


sorted(<list>)

sorted(iterable[, key=<function>][, reverse=<True|False>])

- 정렬된 새로운 리스트를 반환합니다. (원본 리스트에 영향 없음)

- 모든 iterable에 동작합니다. (list, tuple, dict, 문자열 등)


예제

l2 = [1, 3, 2]
print(sorted(l2))
# [1, 2, 3]
print(l2)
# [1, 3, 2]


결론

- <list>.sort()를 사용하면 원본 리스트 순서를 변화시킬 수 있습니다.

- sorted(<list>)를 사용하면 정렬된 새로운 리스트를 반환 받을 수 있습니다.

- <list>.sort()는 새로운 복사본을 만들지 않기 때문에 sorted(<list>) 함수보다 빠릅니다.

References

https://stackoverflow.com/questions/22442378/what-is-the-difference-between-sortedlist-vs-list-sort


728x90
반응형