English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python에서 딕셔너리 목록을 값에 따라 정렬하는 방법

여기서는 딕셔너리가 주어져 있으며, 우리의 임무는 그들의 값에 따라 정렬하는 것입니다. 이 딕셔너리에는 두 가지 값이 있습니다. 하나는 name이고, 다른 하나는 roll입니다. 먼저, lambda 함수와 내장된 정렬 함수를 사용하여 등록순서로 목록을 표시하는 방법을 보여줍니다.

두 번째로 이름과 등록순서로 목록을 표시하고, 세 번째로 이름으로 표시합니다.

예제 코드

# Initializing list of dictionaries 
my_list1 =[{"name" : "Adwaita", "roll" : 100},
{ "name" : "Aadrika" , "roll" : 234 },
{ "name" : "Sakya" , "roll" : 23 }
print("The list is sorted by roll:")
print(sorted(my_list1, key = lambda i: i['roll'])
print("\r")
print("The list is sorted by name and roll:")
print(sorted(my_list1, key = lambda i: (i['roll'], i['name']))
print("\r")
print("The list is sorted by roll in descending order:")
print(sorted(my_list1, key = lambda i: i['roll'], reverse=True)

출력 결과

리스트는 등록순서로 정렬되었습니다: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}
리스트는 이름과 등록순서로 정렬되었습니다: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}
리스트는 등록순서로 내림차순으로 정렬되었습니다: 
[{'name': 'Aadrika', 'roll': 234}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Sakya', 'roll': 23}