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.