>백엔드 개발 >파이썬 튜토리얼 >특정 키를 기준으로 Python에서 사전 목록을 어떻게 정렬할 수 있나요?

특정 키를 기준으로 Python에서 사전 목록을 어떻게 정렬할 수 있나요?

DDD
DDD원래의
2024-12-31 12:49:14548검색

How Can I Sort a List of Dictionaries in Python by a Specific Key?

Python에서 사전 정렬

특정 키 값을 기준으로 사전 목록을 정렬하는 것은 일반적인 작업입니다. 이름과 나이가 포함된 사전 목록을 고려해 보겠습니다.

list_to_be_sorted = [{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]

이 목록을 이름별로 오름차순으로 정렬하려면 key 매개변수와 함께 sorted() 함수를 활용할 수 있습니다. key 매개변수를 사용하면 정렬 순서를 결정하는 함수를 지정할 수 있습니다.

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])

이 경우 각 사전에서 'name' 값을 추출하고 해당 값을 정렬에 사용하는 람다 함수를 정의합니다. 정렬된 결과는 다음과 같습니다.

[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]

또는 사용자 정의 함수를 정의하는 대신 Operator.itemgetter를 사용할 수 있습니다. Itemgetter는 각 사전에서 특정 필드를 추출하는 콜러블을 반환합니다.

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))

이 역시 이전과 동일한 정렬 결과를 생성합니다.

마지막으로 목록을 내림차순으로 정렬하려면 다음을 수행합니다. sorted() 함수에 reverse=True를 설정하세요.

newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)

이렇게 하면 목록이 정렬됩니다. 다음과 같이:

[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]

위 내용은 특정 키를 기준으로 Python에서 사전 목록을 어떻게 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.