ค้นหา 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'}]