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

Get Key from Value ใน Dictionary Python: หาคีย์จากค่าที่ทราบ

ได้ Dictionary และค่า (value) ต้องการหาคีย์ (key) ที่สอดคล้อง (Reverse Lookup)

วิธี 1: ใช้ list.index() บน keys และ values

dictA = {"Mon": 3, "Tue": 11, "Wed": 8}
keys = list(dictA.keys())
vals = list(dictA.values())
print(keys[vals.index(11)])  # Tue
print(keys[vals.index(8)])   # Wed
# One-liner:
print(list(dictA.keys())[list(dictA.values()).index(3)])  # Mon

วิธี 2: ใช้ items() วนลูป (รองรับหลายคีย์ค่าเดียวกัน)

dictA = {"Mon": 3, "Tue": 11, "Wed": 8}
def get_key(val):
    for k, v in dictA.items():
        if v == val:
            return k
    return "key doesn't exist"

print(get_key(11))  # Tue
print(get_key(3))   # Mon
print(get_key(10))  # key doesn't exist

สรุป

  • วิธี 1: ใช้ได้ก็ต่อเมื่อค่าไม่ซ้ำกัน (unique values)
  • วิธี 2: ยืดหยุ่นกว่า คืนคีย์แรกที่เจอ