Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencari Kamus dalam Senarai Dengan Cekap Berdasarkan Pasangan Nilai Kunci dalam Python?

Bagaimana untuk Mencari Kamus dalam Senarai Dengan Cekap Berdasarkan Pasangan Nilai Kunci dalam Python?

Barbara Streisand
Lepaskan: 2024-12-11 06:07:11
asal
785 orang telah melayarinya

How to Efficiently Search for a Dictionary in a List Based on a Key-Value Pair in Python?

Mencari Kamus dalam Senarai dalam Python

Masalah:

Diberi senarai kamus , bagaimanakah kita boleh mencari dan mendapatkan semula kamus khusus berdasarkan pasangan nilai kunci dengan cekap? Dalam kes ini, kami ingin mencari kamus dengan kunci "nama" ditetapkan kepada "Pam."

[
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 },
]
Salin selepas log masuk

Penyelesaian:

Untuk melaksanakan operasi carian , kita boleh memanfaatkan ungkapan penjana terbina dalam Python.

dicts = [
    { "name": "Tom", "age": 10 },
    { "name": "Mark", "age": 5 },
    { "name": "Pam", "age": 7 },
]

result = next(item for item in dicts if item["name"] == "Pam")
print(result)
Salin selepas log masuk

Kod ini berulang melalui setiap kamus dalam senarai menggunakan ungkapan penjana dan berasaskan penapis dengan syarat "item["name"] == "Pam"". Jika kamus yang sepadan ditemui, fungsi next() mengembalikan item padanan pertama.

{'name': 'Pam', 'age': 7}
Salin selepas log masuk

Sebagai alternatif, jika anda perlu mengendalikan kes di mana item yang sepadan tidak ditemui, anda boleh menggunakan pendekatan berikut :

next((item for item in dicts if item["name"] == "Pam"), None)
Salin selepas log masuk

Kod ini mengembalikan Tiada jika tiada item yang sepadan ditemui.

Untuk mencari indeks item yang sepadan sebaliknya daripada item itu sendiri, anda boleh menghitung senarai:

next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencari Kamus dalam Senarai Dengan Cekap Berdasarkan Pasangan Nilai Kunci dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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