Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ดึงค่า Unique จาก Dictionary ใน List

แนวคิด

จากลิสต์ของ 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})