반응형
파이썬에서 리스트를 정렬하는 작업은 매우 빈번하게 발생합니다. 이를 위해 sort와 sorted 두 가지 함수가 제공되는데, 이들은 유사한 기능을 제공하면서도 중요한 차이점을 가지고 있습니다.
1. sort()
- 기능: 리스트를 직접 변경하여 정렬합니다.
- 반환 값: None (리스트 자체를 변경합니다)
my_list = [5, 2, 4, 1, 3]
# 리스트를 직접 정렬
my_list.sort()
print(my_list) # [1, 2, 3, 4, 5]
2. sorted()
- 기능: 리스트를 새롭게 만들어 정렬 결과를 반환합니다.
- 반환 값: 정렬된 새로운 리스트
my_list = [5, 2, 4, 1, 3]
# 새 리스트를 만들어 정렬 결과 반환
sorted_list = sorted(my_list)
print(my_list) # [5, 2, 4, 1, 3]
print(sorted_list) # [1, 2, 3, 4, 5]
3. sort와 sorted의 차이점
구분 | sort | sorted |
리스트 변경 | 직접 변경 | 새 리스트 생성 |
반환 값 | None | 정렬된 새 리스트 |
메모리 사용 | 적음 | 많음 |
속도 | 빠름 | 느림 |
inplace | True | False |
4. 주의 사항
- sort 함수는 리스트를 직접 변경하기 때문에 주의해야 합니다.
- sorted 함수는 새로운 리스트를 만들기 때문에 메모리 사용량이 더 많습니다.
- 속도는 sort 함수가 sorted 함수보다 빠릅니다.
- inplace 파라미터는 sort 함수에서만 사용할 수 있으며, 기본값은 True입니다.
5. 어떤 함수를 사용해야 할까?
- 리스트를 직접 변경하고 싶고 속도가 중요할 때는 sort 함수를 사용합니다.
- 리스트를 변경하지 않고 정렬 결과만 필요할 때는 sorted 함수를 사용합니다.
- 메모리 사용량이 중요할 때는 sort 함수를 사용합니다.
'파이썬 > Basic' 카테고리의 다른 글
Python 데코레이터 : 정적 메서드부터 데이터 클래스까지 알아보기 (0) | 2024.09.16 |
---|---|
Python의 데코레이터: 강력한 코드 확장 기능 (0) | 2024.09.15 |
문자열에 원하는 문자를 추가하는 방법 (0) | 2024.02.10 |
Python에서 JSON과 Dictionary 간 변환하는 방법 (2) | 2024.02.08 |
requests : 간편한 HTTP 요청 (0) | 2024.02.05 |