Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 값으로 사전 목록을 정렬하는 방법

<시간/>

여기에 하나의 사전이 제공되며, 우리의 임무는 값을 기준으로 정렬하는 것입니다. 이 사전에는 두 개의 값이 있습니다. 하나는 이름이고 다른 하나는 롤입니다. 먼저 람다 함수와 내장된 정렬 기능을 사용하여 롤별로 정렬된 목록을 표시합니다.

두 번째로 정렬된 목록을 이름별로 표시하고 세 번째로 이름별로 목록을 표시합니다.

예시 코드

# 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) )

출력

The list is sorted by roll: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}]
The list is sorted by name and roll: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}]
The list is sorted by roll in descending order: 
[{'name': 'Aadrika', 'roll': 234}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Sakya', 'roll': 23}]