Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Cara Mencari Kamus Khusus dalam Senarai Kamus Python dengan Cekap?

Bagaimana Cara Mencari Kamus Khusus dalam Senarai Kamus Python dengan Cekap?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 15:18:10914semak imbas

How to Efficiently Search for a Specific Dictionary in a Python List of Dictionaries?

Mencari Kamus dalam Senarai Menggunakan Python

Pertimbangkan senarai kamus sebagai contoh:

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

Masalah: Bagaimana anda mencari dan mendapatkan semula kamus di mana kunci "nama" sama dengan "Pam"?

Penyelesaian:

Menggunakan ungkapan penjana, anda boleh mengulangi senarai kamus dan menapis kamus yang anda perlukan:

match = next(item for item in dicts if item["name"] == "Pam")

print(match)
# {"name": "Pam", "age": 7}

Mengendalikan Ketiadaan:

Jika ada kemungkinan nama yang anda cari tidak wujud dalam senarai, anda boleh menggunakan fungsi next() dengan argumen lalai:

match = next((item for item in dicts if item["name"] == "Pam"), None)

if match:
    print(match)
else:
    print("No matching dictionary found.")

Pendekatan Alternatif:

  • Anda boleh menghitung senarai untuk mendapatkan indeks padanan kamus:
index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)

print(f"Matching dictionary at index {index}")
  • Anda boleh menggunakan kriteria penapisan tambahan dalam ungkapan penjana untuk melakukan carian yang lebih kompleks.

Atas ialah kandungan terperinci Bagaimana Cara Mencari Kamus Khusus dalam Senarai Kamus Python dengan Cekap?. 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