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 }, ]
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)
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}
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)
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)
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!