프로그래밍 언어/python
파이썬에서 key 파라미터를 활용한 정렬
롤리와 포포
2024. 1. 22. 14:19
파이썬에서 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**에 할당하여, 정렬 기준을 유연하게 지정할 수 있습니다. 이 방법을 통해 데이터를 보다 효과적으로 정리하고, 프로그램의 가독성을 높일 수 있습니다.