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

Bagaimanakah Saya Boleh Mencari Kunci Kamus Dengan Cekap Berdasarkan Nilainya dalam Python?

DDD
DDDasal
2024-12-16 15:57:12328semak imbas

How Can I Efficiently Find Dictionary Keys Based on Their Values in Python?

Mencari Kunci daripada Nilai dalam Kamus

Anda telah menghadapi cabaran untuk mendapatkan semula nama yang dikaitkan dengan umur tertentu dalam kamus Python. Mari kita mendalami cara anda boleh mencapai perkara ini dengan pendekatan yang lebih cekap.

Isunya

Kod asal anda cuba untuk berulang melalui nilai kamus dan membandingkannya dengan input umur. Walau bagaimanapun, lelaran ke atas nilai sahaja tidak memberikan akses kepada kunci yang sepadan. Ini membawa kepada KeyError yang dihadapi apabila anda cuba mendapatkan semula nama secara langsung.

Penyelesaian

Untuk mencari kunci yang dikaitkan dengan nilai tertentu, gunakan kaedah yang membalikkan hubungan nilai utama. Dalam Python, kaedah dict.keys() dan dict.values() boleh dimanfaatkan untuk mencapainya.

Python 2.x

mydict = {'george': 16, 'amber': 19}
print mydict.keys()[mydict.values().index(16)]  # Prints 'george'

Dalam Python 2.x, mydict.values() mengembalikan senarai nilai. Dengan menggunakan index(), anda boleh menentukan kedudukan nilai sasaran dalam senarai itu. Kekunci yang sepadan kemudiannya boleh diambil menggunakan mydict.keys()[index].

Python 3.x

mydict = {'george': 16, 'amber': 19}
print(list(mydict.keys())[list(mydict.values()).index(16)])  # Prints 'george'

Dalam Python 3.x, kedua-duanya dict .keys() dan dict.values() mengembalikan iterator. Untuk mendapatkan senarai, anda perlu menghantarnya secara eksplisit menggunakan list() seperti yang ditunjukkan di atas.

Kesimpulan

Pendekatan ini membolehkan anda mendapatkan kunci dengan cekap berdasarkan nilai yang diketahui dalam kamus Python. Ingat untuk mempertimbangkan versi Python yang anda gunakan, kerana sintaks mungkin berbeza sedikit antara versi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Kunci Kamus Dengan Cekap 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