본문 바로가기

프로그래밍 언어/python

파이썬에서 key 파라미터를 활용한 정렬

파이썬에서 key 파라미터를 활용한 정렬

파이썬의 정렬 함수 **sorted()**와 리스트의 .sort() 메소드는 key 파라미터를 지원합니다. 이를 활용하면 복잡한 기준으로 객체를 정렬할 수 있습니다. 이 글에서는 key 파라미터 사용법과 여러 예제를 통해 이해를 돕겠습니다.

기본 사용법

key 파라미터는 정렬 기준을 제공하는 함수를 값으로 받습니다. 이 함수는 정렬하려는 각 요소에 대해 호출되며, 요소를 비교하는 데 사용될 값을 반환합니다.

예제: 문자열 길이로 정렬

words = ["banana", "pie", "Washington", "book"]
sorted_words = sorted(words, key=len)

print(sorted_words)

실행 결과:

['pie', 'book', 'banana', 'Washington']

복잡한 객체 정렬

튜플이나 딕셔너리와 같은 복잡한 객체를 정렬할 때 key 파라미터가 유용합니다.

예제: 튜플의 특정 요소로 정렬

tuples = [(1, 'banana'), (2, 'apple'), (3, 'cherry')]
sorted_tuples = sorted(tuples, key=lambda x: x[1])

print(sorted_tuples)

실행 결과:

[(2, 'apple'), (1, 'banana'), (3, 'cherry')]

예제: 딕셔너리를 값으로 정렬

dictionaries = [
    {'name': 'John', 'age': 45},
    {'name': 'Diane', 'age': 35},
    {'name': 'Mike', 'age': 25}
]
sorted_dictionaries = sorted(dictionaries, key=lambda x: x['age'])

print(sorted_dictionaries)

실행 결과:

[{'name': 'Mike', 'age': 25}, {'name': 'Diane', 'age': 35}, {'name': 'John', 'age': 45}]

결론

key 파라미터는 파이썬에서 복잡한 기준으로 객체를 정렬할 때 매우 강력한 도구입니다. 사용자 정의 함수나 람다를 **key**에 할당하여, 정렬 기준을 유연하게 지정할 수 있습니다. 이 방법을 통해 데이터를 보다 효과적으로 정리하고, 프로그램의 가독성을 높일 수 있습니다.