sort() VS sorted()
원본 리스트 변경 여부
- sort() : 리스트 자체를 정렬하며, 원본 리스트를 수정. 즉, sort()를 사용하면 원래의 리스트가 바뀐다.
- sorted() : 새로운 정렬된 리스트를 반환하며, 원본리스트는 그대로 유지. 원본 리스트를 유지하면서 정렬된 결과만 따로 사용할 때 유용.
리스트에만 사용 가능 여부
- sort(): 리스트에만 사용가능.
리스트 객체의 메서드이므로, 리스트가 아닌 다른 반복 가능 객체에는 사용 불가.
- sorted() : 리스트 뿐 아니라 튜플, 문자열, 딕셔너리 등 모든 반복 가능한 객체에 사용가능.
반환 값
- sort() : 반환값이 없음. 리스트 직접 정렬, 정렬된 리스트를 반환하지 않음.
- sorted() : 새로운 리스트를 반환. 원본은 그대로 두고, 정렬된 리스트를 반환.
사용 예시.
sort()
list = [3, 1, 2]
list.sort()
print(list)
# 출력 : [1, 2, 3]
sorted()
- 리스트나 반복가능한 객체를 정렬된 새로운 리스트로 반환
list = [3, 1, 2]
sorted_list = sorted(list)
print(sorted_list) # 출력 : [1, 2, 3]
print(list) # 원본리스트는 그대로 출력 : [3, 1, 2]