ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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()만 가능.

Designed by Tistory.