Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 sort() 메서드 완벽 가이드 – 기본 정렬부터 key 매개변수까지


이 튜토리얼에서는 파이썬 리스트의 sort() 메서드에 대해 자세히 알아보겠습니다. sort() 메서드는 리스트를 오름차순 또는 내림차순으로 정렬할 때 사용하며, 선택적 매개변수(optional parameters)의 사용 여부에 따라 다양한 방식으로 활용할 수 있습니다.

sort() 메서드는 원본 리스트를 직접 수정하는(in-place) 방식으로 동작합니다.

기본 sort() 사용법

아무 매개변수도 전달하지 않고 sort() 메서드를 호출하면 리스트가 오름차순으로 정렬됩니다. 예제를 통해 바로 확인해 보겠습니다.

예제

# 리스트 초기화
numbers = [4, 3, 5, 1, 2]
# 숫자 오름차순 정렬
numbers.sort()
# 결과 출력
print(numbers)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

[1, 2, 3, 4, 5]

reverse 매개변수로 내림차순 정렬하기

reverse 선택적 매개변수를 사용하면 리스트를 내림차순으로 정렬할 수 있습니다. reverse 매개변수에 True 값을 전달하기만 하면 됩니다.

예제

# 리스트 초기화
numbers = [4, 3, 5, 1, 2]
# 내림차순으로 정렬
numbers.sort(reverse=True)
# 결과 출력
print(numbers)

실행 결과

[5, 4, 3, 2, 1]

key 매개변수로 정렬 기준 지정하기

sort() 메서드는 key라는 또 다른 선택적 매개변수를 받을 수 있습니다. key 매개변수는 리스트를 어떤 값을 기준으로 정렬할지 알려주는 역할을 합니다.

예를 들어 딕셔너리로 이루어진 리스트가 있고, 특정 키값을 기준으로 정렬해야 한다고 가정해 봅시다. 이 경우 정렬 기준이 되는 값을 반환하는 함수를 key 매개변수에 전달하면 됩니다. 아래 예제에서는 람다(lambda) 함수를 사용해 각 딕셔너리의 'a' 키값을 기준으로 정렬하고 있습니다.

예제

# 딕셔너리 리스트 초기화
numbers = [{'a': 5}, {'b': 1, 'a': 1}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'e': 2, 'a': 2}]
# 'a' 키값을 기준으로 딕셔너리 리스트 정렬
numbers.sort(key=lambda dictionary: dictionary['a'])
# 결과 출력
print(numbers)

실행 결과

[{'b': 1, 'a': 1}, {'e': 2, 'a': 2}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'a': 5}]

마무리

지금까지 파이썬 sort() 메서드의 기본 사용법과 함께 reverse, key 매개변수를 활용하는 방법까지 살펴보았습니다. sort()는 원본 리스트를 직접 수정한다는 점을 꼭 기억하세요. 만약 원본을 유지한 채 정렬된 새 리스트가 필요하다면 sorted() 내장 함수를 사용하는 것이 좋습니다. 튜토리얼 내용에 대해 궁금한 점이 있다면 댓글로 남겨주세요!