Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python sắp xếp danh sách từ điển theo tổng giá trị


Khi cần sắp xếp danh sách các từ điển dựa trên tổng các giá trị (values) của từng từ điển, ta định nghĩa hàm dùng sum() và values().

Ví dụ

def sum_value(row):
    return sum(list(row.values()))

my_dict = [{21: 13, 44: 35, 34: 56}, {11: 75, 70: 19, 39: 70}, {1: 155}, {48: 29, 17: 53}]
print("Danh sách từ điển ban đầu:")
print(my_dict)
my_dict.sort(key=sum_value)
print("Kết quả:")
print(my_dict)

Kết quả

Danh sách từ điển ban đầu: [{34: 56, 44: 35, 21: 13}, {11: 75, 70: 19, 39: 70}, {1: 155}, {48: 29, 17: 53}]
Kết quả: [{48: 29, 17: 53}, {34: 56, 44: 35, 21: 13}, {1: 155}, {11: 75, 70: 19, 39: 70}]

Giải thích

  • Hàm sum_value lấy danh sách giá trị của từ điển, tính tổng.

  • Định nghĩa danh sách từ điển và hiển thị.

  • Sắp xếp với key=sum_value.

  • In kết quả: từ điển có tổng giá trị nhỏ nhất đứng trước.