Python에서 list.sort()와 sorted()의 차이점은 무엇입니까?

Python은 목록을 정렬하는 두 가지 방법인 내장 목록 방법list.sort()과 내장 함수sorted()를 제공합니다. 둘 다 목록의 요소를 정렬하지만 잘못 사용하면 예기치 않거나 원하지 않는 결과가 발생할 수 있습니다.

차이점과 유사점



둘 사이의 주요 차이점은 list.sort()는 목록을 제자리에서 정렬하여 인덱스를 변경하고 None를 반환하는 반면 sorted()는 원래 목록을 변경하지 않은 채 새로 정렬된 목록을 반환한다는 것입니다. 또 다른 차이점은 sorted()는 모든 이터러블을 허용하지만 list.sort()list 클래스의 메서드이며 목록에만 사용할 수 있다는 것입니다.

nums = [2, 3, 1, 5, 6, 4, 0]

print(sorted(nums))   # [0, 1, 2, 3, 4, 5, 6]
print(nums)           # [2, 3, 1, 5, 6, 4, 0]

print(nums.sort())    # None
print(nums)           # [0, 1, 2, 3, 4, 5, 6]

list.sort()sorted() 모두 동일한 keyreverse 선택적 인수를 가지며 비교하기 전에 각 목록 요소에서 호출할 수 있습니다.

각각을 사용하는 경우


list.sort()는 목록을 변경하려고 하고 요소의 원래 순서를 검색하는 것이 바람직하지 않을 때마다 사용해야 합니다. 반면에 sorted()는 정렬할 객체가 이터러블(예: 목록, 튜플, 사전, 문자열)이고 원하는 결과가 모든 요소를 ​​포함하는 정렬된 목록인 경우에 사용해야 합니다.


짧은 고품질 코드 스니펫과 기사가 마음에 드십니까? 우리도 그래! 이와 같은 더 많은 기사를 보려면 30 seconds of code을 방문하거나 일일 JavaScript, React 및 Python 스니펫을 보려면 팔로우하세요! 👨‍💻

좋은 웹페이지 즐겨찾기