จาก List ของ Dictionary ที่มี Key เหมือนกัน หา Min และ Max ของแต่ละ Key ทั่วทุก Dictionary
ตัวอย่างโค้ด
my_list = [{"python": 4, "is": 7, "best": 10},
{"python": 2, "is": 5, "best": 9},
{"python": 1, "is": 2, "best": 6}]
print("The list is :")
print(my_list)
my_result = dict()
keys = list(my_list[0].keys())
for my_elem in keys:
my_result[my_elem] = [min(sub[my_elem] for sub in my_list),
max(sub[my_elem] for sub in my_list)]
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : [{'python': 4, 'is': 7, 'best': 10}, {'python': 2, 'is': 5, 'best': 9}, {'python': 1, 'is': 2, 'best': 6}]
The result is : {'python': [1, 4], 'is': [2, 7], 'best': [6, 10]}
คำอธิบาย
- ดึง Keys จาก Dict แรก (สมมติทุก Dict มี Key เหมือนกัน)
- วนลูปแต่ละ Key
- Generator Expression:
sub[my_elem] for sub in my_listดึงค่าของ Key นั้นจากทุก Dict min()และmax()หาค่าต่ำสุด/สูงสุด- เก็บเป็น List
[min, max]ใน Dict ผลลัพธ์