Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Cari Kunci Kamus Berdasarkan Nilainya dalam Python?

Bagaimanakah Saya Boleh Cari Kunci Kamus Berdasarkan Nilainya dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-23 18:12:15417semak imbas

How Can I Find a Dictionary Key Based on its Value in Python?

Mendapatkan Kekunci Kamus Berdasarkan Nilai

Apabila berurusan dengan kamus dalam Python, selalunya perlu mencari kunci yang dikaitkan dengan nilai yang diberikan . Senario ini timbul apabila anda perlu mencari nama seseorang berdasarkan umur mereka, seperti dalam contoh berikut:

dictionary = {'george': 16, 'amber': 19}
search_age = input("Provide age: ")  # Replace raw_input with input in Python 3

Walau bagaimanapun, kod yang disediakan menghadapi KeyError kerana ia cuba mengakses nilai secara terus tanpa terlebih dahulu mengesahkan kewujudannya. Untuk membetulkannya, kami menggunakan pendekatan yang lebih mantap menggunakan langkah berikut:

  1. Asingkan Nilai Kamus: Kami mencipta senarai yang mengandungi semua nilai daripada kamus: values_list = list (dictionary.values())
  2. Cari Nilai Kedudukan: Kami menentukan kedudukan nilai yang dicari dalam values_list menggunakan value_index = values_list.index(search_age)
  3. Dapatkan Kekunci Padanan: Menggunakan kedudukan nilai, kami memperoleh kunci yang sepadan daripada kekunci kamus: nama = list(dictionary.keys())[value_index]
  4. Cetak Hasilnya: Kami memaparkan nama yang diambil: print(name)

Oleh itu, kod kami kini berjaya melaksanakan:

mydict = {'george': 16, 'amber': 19}
search_age = input("Provide age: ")
values_list = list(mydict.values())
if search_age in values_list:
    value_index = values_list.index(search_age)
    name = list(mydict.keys())[value_index]
    print(name)
else:
    print("Age not found.")

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Kunci Kamus Berdasarkan Nilainya dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn