แนวคิด
จากลิสต์ของ dictionaries ให้รวมค่า (values) ทั้งหมด แล้วเอาค่าที่ไม่ซ้ำกัน (unique) ใช้ set และ list comprehension
ตัวอย่างโค้ด
my_dict_list = [
{'Python': 11, 'is': 22},
{'fun': 11, 'to': 33},
{'learn': 22},
{'object': 9},
{'oriented': 11}
]
print("ลิสต์ Dictionary:", my_dict_list)
# รวม values ทั้งหมด แล้ว unique
all_values = [val for d in my_dict_list for val in d.values()]
unique_values = list(set(all_values))
unique_values.sort()
print("ค่าทั้งหมด:", all_values)
print("ค่า Unique (เรียง):", unique_values)
ผลลัพธ์
ลิสต์ Dictionary: [{'Python': 11, 'is': 22}, {'fun': 11, 'to': 33}, {'learn': 22}, {'object': 9}, {'oriented': 11}]
ค่าทั้งหมด: [11, 22, 11, 33, 22, 9, 11]
ค่า Unique (เรียง): [9, 11, 22, 33]
คำอธิบาย
d.values()ดึงค่าของ dictionary แต่ละตัว- Nested list comprehension
[val for d in list for val in d.values()]flatten ค่า set()กรองค่าซ้ำlist()แปลงกลับเป็นลิสต์
การประยุกต์
# นับความถี่แต่ละค่า
from collections import Counter
freq = Counter(val for d in my_dict_list for val in d.values())
print(freq) # Counter({11: 3, 22: 2, 33: 1, 9: 1})