Bagaimana untuk Mendapatkan Kunci Berdasarkan Nilainya dalam Kamus Python?

Susan Sarandon
Lepaskan: 2024-10-17 16:00:03
asal
872 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan