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

Python – Trích xuất dictionary có tổng giá trị lớn hơn K

Lọc các dictionary trong danh sách mà tổng các giá trị (values) lớn hơn ngưỡng K. Sử dụng vòng lặp và điều kiện if.

Mã nguồn

my_list = [
    {"Python": 14, "is": 18, "fun": 19},
    {"Python": 12, "is": 4, "fun": 16},
    {"Python": 13, "is": 17, "fun": 11},
    {"Python": 13, "is": 16, "fun": 13}
]
print("Danh sách dictionary:", my_list)

K = 35
print("Ngưỡng K:", K)

my_result = []
for index in my_list:
    total = 0
    for key in index:
        total += index[key]
    if total > K:
        my_result.append(index)

print("Kết quả (tổng >", K, "):", my_result)

Kết quả

Danh sách dictionary: [{'Python': 14, 'is': 18, 'fun': 19}, {'Python': 12, 'is': 4, 'fun': 16}, {'Python': 13, 'is': 17, 'fun': 11}, {'Python': 13, 'is': 16, 'fun': 13}]
Ngưỡng K: 35
Kết quả (tổng > 35 ): [{'Python': 14, 'is': 18, 'fun': 19}, {'Python': 13, 'is': 17, 'fun': 11}, {'Python': 13, 'is': 16, 'fun': 13}]

Giải thích

  • Dictionary 1: 14+18+19 = 51 > 35 → giữ.
  • Dictionary 2: 12+4+16 = 32 ≤ 35 → loại.
  • Dictionary 3: 13+17+11 = 41 > 35 → giữ.
  • Dictionary 4: 13+16+13 = 42 > 35 → giữ.

Cách ngắn gọn (list comprehension)


my_result = [d for d in my_list if sum(d.values()) > K]

Dùng sum(d.values()) tính tổng giá trị dictionary.