Khi cần sắp xếp danh sách các từ điển dựa trên các giá trị, có thể sử dụng hàm lambda.
Dưới đây là minh chứng về điều tương tự -
Ví dụ
from operator import itemgetter my_list = [{ "name" : "Will", "age" : 56}, { "name" : "Rob", "age" : 20 }, { "name" : "Mark" , "age" : 34 }, { "name" : "John" , "age" : 24 }] print("The list sorted by age is : ") print(sorted(my_list, key=lambda i: i['age'])) print("The list sorted by age and name is : ") print(sorted(my_list, key=lambda i: (i['age'], i['name']))) print("The list sorted by age in descending order is : ") print(sorted(my_list, key=lambda i: i['age'],reverse=True))
Đầu ra
The list sorted by age is : [{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}] The list sorted by age and name is : [{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}] The list sorted by age in descending order is : [{'name': 'Will', 'age': 56}, {'name': 'Mark', 'age': 34}, {'name': 'John', 'age': 24}, {'name': 'Rob', 'age': 20}]
Giải thích
-
Danh sách các phần tử từ điển được xác định và hiển thị trên bảng điều khiển.
-
Phương thức đã sắp xếp được sử dụng và khóa được chỉ định là ‘lambda’.
-
Danh sách từ điển lại được sắp xếp bằng lambda dưới dạng hai tham số.
-
Đầu ra được hiển thị trên bảng điều khiển.