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

Python – Sắp xếp danh sách dictionary theo kích thước (size)

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)