Trong bài viết này, bạn sẽ học cách sắp xếp danh sách từ điển sử dụng các giá trị trong Python . Chúng tôi sẽ sử dụng các cuộc gọi phương thức có sẵn đã sắp xếp để sắp xếp từ điển.
Các bước sắp xếp từ điển
Chúng tôi sẽ làm theo các bước được đề cập bên dưới để sắp xếp từ điển bằng cách sử dụng các giá trị.
- Chuyển danh sách chứa từ điển và khóa đến đã sắp xếp phương pháp.
- Chúng tôi có thể chuyển các khóa theo hai cách khác nhau
- 1. Sử dụng lambda chức năng
- 2. Sử dụng itemgetter phương pháp
- Chúng tôi có thể chuyển các khóa theo hai cách khác nhau
Hãy xem các ví dụ.
1. Sử dụng hàm lambda
Ví dụ
## list of dictionaries dicts = [ {"name" : "John", "salary" : 10000}, {"name" : "Emma", "salary" : 30000}, {"name" : "Harry", "salary" : 15000}, {"name" : "Aslan", "salary" : 10000} ] ## sorting the above list using 'lambda' function ## we can reverse the order by passing 'reverse' as 'True' to 'sorted' method print(sorted(dicts, key = lambda item: item['salary']))
Nếu bạn chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
[{'name': 'John', 'salary': 10000}, {'name': 'Aslan', 'salary': 10000}, {'name': 'Harry', 'salary': 15000}, {'name': 'Emma', 'salary': 30000}]
2. Sử dụng phương pháp itemgetter
Xử lý sắp xếp danh sách các từ điển bằng cách sử dụng mục tiêu tương tự như quy trình trên. Chúng tôi chuyển giá trị cho khóa bằng cách sử dụng itemgetter phương pháp, đó là sự khác biệt duy nhất. Hãy xem.
Ví dụ
## importing itemgetter from the operator from operator import itemgetter ## list of dictionaries dicts = [ {"name" : "John", "salary" : 10000}, {"name" : "Emma", "salary" : 30000}, {"name" : "Harry", "salary" : 15000}, {"name" : "Aslan", "salary" : 10000} ] ## sorting the above list using 'lambda' function ## we can reverse the order by passing 'reverse' as 'True' to 'sorted' method print(sorted(dicts, key = itemgetter('salary')))
Đầu ra
Nếu bạn chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
[{'name': 'John', 'salary': 10000}, {'name': 'Aslan', 'salary': 10000}, {'name': 'Harry', 'salary': 15000}, {'name': 'Emma', 'salary': 30000}]