Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mendapatkan Kunci Berdasarkan Nilainya dalam Kamus Python?

Bagaimana untuk Mendapatkan Kunci Berdasarkan Nilainya dalam Kamus Python?

Susan Sarandon
Susan Sarandonasal
2024-10-17 16:00:03802semak imbas

How to Retrieve a Key Based on Its Value in a Python Dictionary?

Mencari Kunci daripada Nilai dalam Kamus Python

Dalam kamus, mencari kunci berdasarkan nilai yang sepadan boleh menjadi perkara biasa tugasan. Walaupun terdapat kaedah alternatif yang tersedia, seperti menggunakan fungsi dict.get() atau mengulangi item kamus, pendekatan yang mudah dan cekap ialah menggunakan pemahaman senarai.

Melaksanakan Carian Utama

Untuk mencari kunci yang diingini, anda boleh menggunakan pemahaman senarai berikut:

<code class="python">key = [key for key, value in dict_obj.items() if value == 'value'][0]</code>

Pemahaman ini berulang melalui semua pasangan nilai kunci dalam kamus dan penapis berdasarkan nilai yang disediakan , mengembalikan senarai kunci yang dipadankan. Indeks [0] kemudiannya digunakan untuk mendapatkan kunci pertama daripada senarai.

Pendekatan Alternatif: Ungkapan Penjana

Daripada pemahaman senarai, ungkapan penjana boleh menyediakan cara yang lebih cekap untuk mengendalikan kamus besar. Ungkapan penjana mengembalikan objek penjana yang menghasilkan nilai satu demi satu. Ia lebih cekap ingatan dan mengelakkan daripada mencipta senarai perantaraan.

Ekspresi penjana berikut mencapai hasil yang sama:

<code class="python">key = next(key for key, value in dd.items() if value == 'value')</code>

di mana dd ialah kamus sasaran. Ungkapan ini berulang melalui item kamus dan menghasilkan kunci padanan pertama. Jika tiada padanan ditemui, ia akan meningkatkan StopIteration. Menangkap pengecualian ini boleh membantu mengendalikan kes yang nilainya tidak terdapat dalam kamus.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kunci Berdasarkan Nilainya dalam Kamus 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