sort()는 리스트 객체의 메서드이다. 리스트 자체를 정렬하며, 원본 리스트를 변경한다. 따라서 sort() 함수는 정렬된 리스트를 반환하지 않고, 정렬이 완료된 원본 리스트 자체를 수정한다. 기본 형태는 list.sort()이다.
# 기본적으로 오름차순으로 정렬
my_list = [3, 1, 4, 2]
my_list.sort()
print(my_list) # [1, 2, 3, 4]
# 내림차순 정렬
my_list = [3, 1, 4, 2]
my_list.sort(reverse=True) # 내림차순 정렬
print(my_list) # [4, 3, 2, 1]
# 커스텀 정렬(key 매개변수 사용)
my_list = ['apple', 'banana', 'cherry']
my_list.sort(key=len) # 문자열의 길이를 기준으로 정렬
print(my_list) # ['apple', 'banana', 'cherry']
sorted()는 리스트뿐만 아니라, 모든 반복 가능한(iterable) 객체(튜플, 딕셔너리, 집합 등)를 정렬할 수 있다. 새로운 정렬된 리스트를 반환하고, 원본 객체는 변경되지 않는다. 기본 형태는 sorted(list)이다.
# 기본적으로 오름차순으로 정렬, 새로운 리스트를 반환
my_list = [3, 1, 4, 2]
sorted_list = sorted(my_list)
print(sorted_list) # [1, 2, 3, 4]
print(my_list) # [3, 1, 4, 2] (원본 리스트는 변경되지 않음)
# 내림차순 정렬
my_list = [3, 1, 4, 2]
sorted_list = sorted(my_list, reverse=True) # 내림차순 정렬
print(sorted_list) # [4, 3, 2, 1]
# 커스텀 정렬(key 매개변수 사용)
my_list = ['apple', 'banana', 'cherry']
sorted_list = sorted(my_list, key=len) # 문자열의 길이를 기준으로 정렬
print(sorted_list) # ['apple', 'banana', 'cherry']