Sắp xếp danh sách các dictionary theo số lượng cặp key-value (độ dài dictionary). Sử dụng len() làm key function.
Mã nguồn
def get_len(element):
return len(element)
my_dict = [
{24: 56, 29: 11, 10: 22, 42: 28},
{54: 73, 59: 11},
{13: 39},
{31: 22, 59: 73, 57: 44}
]
print("Danh sách dict gốc:", my_dict)
my_dict.sort(key=get_len)
print("Danh sách dict sau sắp xếp:", my_dict)
Kết quả
Danh sách dict gốc: [{24: 56, 29: 11, 10: 22, 42: 28}, {54: 73, 59: 11}, {13: 39}, {31: 22, 59: 73, 57: 44}]
Danh sách dict sau sắp xếp: [{13: 39}, {54: 73, 59: 11}, {31: 22, 59: 73, 57: 44}, {24: 56, 29: 11, 10: 22, 42: 28}]
Giải thích
len(dict)trả về số cặp key-value.- Kích thước: 4, 2, 1, 3.
- Sắp xếp tăng dần: 1, 2, 3, 4.
- Kết quả: {13:39} (size=1), {54:73, 59:11} (size=2), {31:22, 59:73, 57:44} (size=3), {24:56, 29:11, 10:22, 42:28} (size=4).
Cách ngắn gọn
my_dict.sort(key=len)
Dùng trực tiếp built-in len.
Sắp xếp giảm dần
my_dict.sort(key=len, reverse=True)