Computer >> Máy Tính >  >> Lập trình >> Python

Các cách sắp xếp danh sách các từ điển bằng cách sử dụng các giá trị trong python


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

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}]