Computer >> Máy Tính >  >> Lập trình >> Python

Nhận khóa từ giá trị trong Từ điển bằng Python

Từ điển Python chứa các cặp giá trị khóa. Trong bài này, chúng ta hướng tới việc lấy giá trị của khóa khi chúng ta biết giá trị của phần tử. Lý tưởng nhất là các giá trị được trích xuất từ ​​khóa nhưng ở đây chúng tôi đang làm ngược lại.

Với chỉ mục và giá trị

Chúng tôi sử dụng các hàm chỉ mục và giá trị của bộ sưu tập từ điển để đạt được điều này. Chúng tôi thiết kế một danh sách để đầu tiên nhận các giá trị và sau đó là các khóa từ đó.

Ví dụ

dictA = {"Mon": 3, "Tue": 11, "Wed": 8}
# list of keys and values
keys = list(dictA.keys())
vals = list(dictA.values())
print(keys[vals.index(11)])
print(keys[vals.index(8)])
# in one-line
print(list(dictA.keys())[list(dictA.values()).index(3)])

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Tue
Wed
Mon

Với các mặt hàng

Chúng tôi thiết kế một hàm để lấy giá trị làm đầu vào và so sánh nó với giá trị có trong mỗi mục của từ điển. Nếu giá trị khớp với khóa sẽ được trả về.

Ví dụ

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

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Tue
Mon
key doesn't exist