![[Python] sort, sorted](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F3Xa69%2FbtsLLrRngD5%2FAAAAAAAAAAAAAAAAAAAAAFDdRmknxas1jCAHSyzYkIiTW68-MqfYngbkfMqo_Got%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DICWRxOrA9zA5EgL2vl0mQcYwchA%253D)
[Python] sort, sorted파이썬(python)2025. 1. 12. 16:17
      Table of Contents
        728x90
    
    
  Python 정렬 메서드 비교: sort와 sorted
1. 차이점
sorted
- 새로운 객체 반환: 기존 리스트를 변경하지 않고, 정렬된 새로운 리스트를 반환함.
- 사용 방식: sorted(iterable, *, key=None, reverse=False)
- 원본 데이터는 변경되지 않음.
sort
- 원본 리스트 직접 변경: 리스트 객체에서 메서드로 호출하며, 리스트를 제자리에서 정렬함.
- 사용 방식: list.sort(*, key=None, reverse=False)
- 반환값: None(작업 후 리스트를 반환하지 않음).
2. 예제 코드
# 리스트 데이터 준비
f_list = ['orange', 'apple', 'mango', 'papaya', 'lemon', 'strawberry', 'coconut']
# sorted 예제
print('sorted - ', sorted(f_list))  # 알파벳 순으로 정렬
print('sorted - ', sorted(f_list, reverse=True))  # 역순 정렬
print('sorted - ', sorted(f_list, key=len))  # 문자열 길이 기준 정렬
print('sorted - ', sorted(f_list, key=lambda x: x[-1]))  # 마지막 문자 기준 정렬
print('sorted - ', sorted(f_list, key=lambda x: x[-1], reverse=True))  # 마지막 문자 기준 역순 정렬
print('original list - ', f_list)  # 원본 리스트 확인 (변경되지 않음)
# sort 예제
f_list.sort()  # 알파벳 순 정렬
print('sort - ', f_list)
f_list.sort(reverse=True)  # 역순 정렬
print('sort - ', f_list)
f_list.sort(key=len)  # 문자열 길이 기준 정렬
print('sort - ', f_list)
f_list.sort(key=lambda x: x[-1])  # 마지막 문자 기준 정렬
print('sort - ', f_list)
f_list.sort(key=lambda x: x[-1], reverse=True)  # 마지막 문자 기준 역순 정렬
print('sort - ', f_list)3. 주요 파라미터
- key: 정렬 기준을 지정하는 함수.- 예: key=len→ 문자열 길이로 정렬
- 예: key=lambda x: x[-1]→ 마지막 문자를 기준으로 정렬
 
- 예: 
- reverse: 정렬 순서를 역순으로 지정.- reverse=True: 내림차순 정렬
- 기본값: reverse=False
 
4. 주요 차이 요약
| 특징 | sort | sorted | 
|---|---|---|
| 사용 방식 | 리스트명.sort() | sorted(리스트) | 
| 반환값 | None | 정렬된 새로운 리스트 반환 | 
| 원본 데이터 변경 | 변경됨 | 변경되지 않음 | 
| 데이터 유형 | 리스트에서만 사용 가능 | 모든 iterable 사용 가능 (리스트, 튜플 등) | 
5. 실행 결과 예시
# sorted 결과
sorted -  ['apple', 'coconut', 'lemon', 'mango', 'orange', 'papaya', 'strawberry']
sorted -  ['strawberry', 'papaya', 'orange', 'mango', 'lemon', 'coconut', 'apple']
sorted -  ['mango', 'lemon', 'apple', 'orange', 'papaya', 'coconut', 'strawberry']
sorted -  ['papaya', 'mango', 'orange', 'apple', 'strawberry', 'lemon', 'coconut']
sorted -  ['coconut', 'lemon', 'strawberry', 'apple', 'orange', 'mango', 'papaya']
original list -  ['orange', 'apple', 'mango', 'papaya', 'lemon', 'strawberry', 'coconut']
# sort 결과
sort -  ['apple', 'coconut', 'lemon', 'mango', 'orange', 'papaya', 'strawberry']
sort -  ['strawberry', 'papaya', 'orange', 'mango', 'lemon', 'coconut', 'apple']
sort -  ['mango', 'lemon', 'apple', 'orange', 'papaya', 'coconut', 'strawberry']
sort -  ['papaya', 'mango', 'orange', 'apple', 'strawberry', 'lemon', 'coconut']
sort -  ['coconut', 'lemon', 'strawberry', 'apple', 'orange', 'mango', 'papaya']6. 주의점
- sort는 원본 리스트를 변경하므로, 원본 데이터를 유지해야 할 경우- sorted를 사용하는 것이 적합함.
- key함수 활용: 정렬 기준을 자유롭게 설정 가능.
- reverse옵션: 정렬 순서를 손쉽게 바꿀 수 있음.
'파이썬(python)' 카테고리의 다른 글
| [Python] 해시 테이블(Hash Table) 활용: Dict, Set (0) | 2025.01.12 | 
|---|---|
| [Python] 해시 테이블(Hash Table) (0) | 2025.01.12 | 
| [Python] 파이썬 namedtuple (0) | 2025.01.05 | 
| [Python] 파이썬 Magic Method (0) | 2025.01.05 | 
| [Python] Instance, Class, Static Method (0) | 2025.01.05 | 
@mane Lab :: 마네의 연구소
            배움에 즐거움을 느끼는 마네의 연구소입니다. 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!
![[Python] 해시 테이블(Hash Table) 활용: Dict, Set](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbiLcWw%2FbtsLMauRcje%2FAAAAAAAAAAAAAAAAAAAAAK2nxMSXx4BuHvBuSpxSq0IPPGo2OLQcPa58RRxE_0N_%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DywOhc5tR2%252BrWKC1vqpSUlDT0hKw%253D) 
                  ![[Python] 해시 테이블(Hash Table)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FGmuTN%2FbtsLLBsXklj%2FAAAAAAAAAAAAAAAAAAAAAJMob0VZzSOASKoRhuhAlksUsbSMz4EJabCZoh4MgdyE%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DgiztVO2vTdrwnoge2GQ35VNdakY%253D) 
                  ![[Python] 파이썬 namedtuple](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fzluha%2FbtsLEsiSRAQ%2FAAAAAAAAAAAAAAAAAAAAAEVAgAivoN_acU_3Q-RMZKTyza5J0JXjoW9usqTVZ8R3%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DZHiZ6WoDeG5vbt07AMQ8VFJSx%252BM%253D) 
                  ![[Python] 파이썬 Magic Method](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fd9GdZH%2FbtsLE4BNVE8%2FAAAAAAAAAAAAAAAAAAAAAIKdroUVU1OzYVblkU40lQXXGSv94AX6hWi9ih-KaSaZ%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DmrqoTjRasWy1jRy%252FJ6%252B0P0nd3VU%253D)