Tìm key trong dictionary mà list giá trị tương ứng có độ rộng (max - min) lớn nhất. Sử dụng vòng lặp và max()/min().
Mã nguồn
my_dict = {
"pyt": [26, 12, 34, 21],
"fun": [41, 27, 43, 53, 18],
"learning": [21, 30, 29, 13]
}
print("Dictionary:", my_dict)
max_result = 0
result = None
for sub, values in my_dict.items():
current_range = max(values) - min(values)
if current_range > max_result:
max_result = current_range
result = sub
print("Key có range lớn nhất:", result)
print("Range =", max_result)
Kết quả
Dictionary: {'pyt': [26, 12, 34, 21], 'fun': [41, 27, 43, 53, 18], 'learning': [21, 30, 29, 13]}
Key có range lớn nhất: fun
Range = 35
Giải thích
- "pyt": max=34, min=12 → range=22.
- "fun": max=53, min=18 → range=35 (lớn nhất).
- "learning": max=30, min=13 → range=17.
- Biến
max_resulttheo dõi range lớn nhất,resultlưu key tương ứng.
Cách ngắn gọn
result = max(my_dict.items(), key=lambda kv: max(kv[1]) - min(kv[1]))[0]
max(dict.items(), key=...) trả về (key, value) cặp tối ưu, lấy [0] để lấy key.