-
sort, sorted 의 차이Computer Science🖥️/Python 2021. 8. 1. 01:01
정렬이 필요할 때 sort 를 쓰다가 우연히 sorted 를 보고 차이점을 비교하기 위해 써본다.
- sort()
- 해당 리스트를 그 자리에서 (in-place)정렬하고 목록 인덱스를 변경하며 None을 반환한다.
a = [5, 2, 3, 1, 4] a.sort() >>>[1, 2, 3, 4, 5] a >>>[1, 2, 3, 4, 5]
- sorted()
- new로 정렬된 목록을 반환하며, 원래 목록은 영향을 받지 않는다.
a = [5, 2, 3, 1, 4] sorted(a) >>>[1, 2, 3, 4, 5] a >>>[5, 2, 3, 1, 4]
- sorted() 는 list뿐 아니라 반복 가능한 모든 작업에 적용 가능하다.(iterable)
- iterable 객체인 문자열, 튜플, 딕셔너리, 제너레이터 등 모든 요소가 포함된 반복 가능한 객체를 정렬하여 반환한다.
결론
1. list를 정렬하려면 sort, sorted 둘다 가능하지만
새로운 정렬된 객체를 원한다면 sorted(), 그렇지 않으면 sort()
* list의 경우 list.sort()는 복사본을 만들 필요가 없으므로 sorted() 보다 실행 속도가 빠르다.
2. 다른 iterator의 경우 sorted()만 가능.
'Computer Science🖥️ > Python' 카테고리의 다른 글
파이썬 배열(array)은 list (0) 2021.06.12 이터러블(iterable) & 이터레이터(iterator) 차이 (0) 2021.05.31 파이썬 자료형 - 숫자형, 문자열 (0) 2021.01.28