sort() vs. sorted()

Numeric_combo·2024년 6월 29일

이름도 비슷하고 기능도 비슷해서 헷갈리는 함수인 sort()와 sorted(). 공통점과 차이점은 다음과 같다. 그리고 매우 정리가 잘 된 포스트가 있으니 이거 먼저 보는 게 좋을 듯. 아래 내용은 그걸 위주로 해서 내 식대로 정리한 것.

  • 공통점
    1) 리스트를 정렬한다.
    2) key와 reverse라는 매개변수가 있으며, key의 경우 예컨대 str.lower 이렇게 되어있으면 대소문자 구분없이 정렬하며, reverse의 경우 True로 설정하면 내림차순으로 정렬한다.

  • 차이점
    sort()
    1) 다음과 같은 꼴로 사용: variable.sort()
    2) 제자리 정렬(In-place Sort)라 하며 입력을 출력으로 덮어써 별도의 추가공간을 요구하지 않아 리턴값이 없다. 따라서 x = y.sort()와 같은 방식으로 변수를 지정하면 None을 리턴한다.
    3) 리스트에다가만 쓸 수 있다!
    sorted()
    1) 다음과 같은 꼴로 사용: sorted(variable)
    2) 리스트, 튜플, 딕셔너리, 셋(set), 스트링, range()에서 얻을 수 있는 Iterable한 객체에다가도 쓸 수 있다.
    3) 그러나 리턴값은 항상 리스트형이다!

profile
덕질기록용

0개의 댓글