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

หา Key ที่มี Value ซ้ำกันใน Dictionary Python

ค้นหา Keys ที่มีค่า Value ซ้ำกันใน Dictionary

Dictionary มี Key ไม่ซ้ำ แต่ Value อาจซ้ำ ต้องการหา Keys ที่มี Value เหมือนกัน

วิธีที่ 1: สลับ Key-Value แล้ว Group


d = {'Sun':5, 'Mon':3, 'Tue':5, 'Wed':3}
rev = {}
for k, v in d.items():
    rev.setdefault(v, []).append(k)
print(rev)  # {5:['Sun','Tue'], 3:['Mon','Wed']}

วิธีที่ 2: ใช้ Set และ Filter


d = {'Sun':5, 'Mon':3, 'Tue':5, 'Wed':4}
rev = {}
for k, v in d.items():
    rev.setdefault(v, set()).add(k)
dupes = [vals for vals in rev.values() if len(vals) > 1]
print(dupes)  # [{'Sun','Tue'}]