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

Python – Tìm key của dictionary có giá trị list phạm vi (range) lớn nhất

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_result theo dõi range lớn nhất, result lư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.