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_valuelấ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.