Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kekunci Pendua dengan Cekap?

Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kekunci Pendua dengan Cekap?

Patricia Arquette
Lepaskan: 2024-12-14 14:11:11
asal
993 orang telah melayarinya

How Can I Efficiently Merge Python Dictionaries with Duplicate Keys?

Menggabungkan Kamus dengan Kekunci Pendua

Dalam Python, kamus digunakan untuk menyimpan koleksi pasangan nilai kunci. Apabila berurusan dengan berbilang kamus dengan kunci pendua, menggabungkannya sambil mengekalkan nilai yang berkaitan boleh menjadi cabaran biasa.

Satu kaedah yang cekap untuk mencapai ini adalah melalui penggunaan koleksi.defaultdict daripada perpustakaan standard Python. Kamus khusus ini membenarkan pemulaan nilai dengan kilang lalai, seperti senarai, untuk kunci yang tidak wujud.

Pertimbangkan contoh kamus berikut:

d1 = {1: 2, 3: 4}
d2 = {1: 6, 3: 7}
Salin selepas log masuk

Untuk menggabungkan kamus ini, kami boleh memulakan lalai dengan nilai lalai senarai kosong:

dd = defaultdict(list)
Salin selepas log masuk

Seterusnya, kami mengulangi setiap kamus dalam urutan bersama-sama dengan pasangan nilai kunci mereka:

for d in (d1, d2):
    for key, value in d.items():
        dd[key].append(value)
Salin selepas log masuk

Dalam gelung ini, untuk setiap kunci yang ditemui, kami menambahkan nilai yang sepadan pada senarai lalai. Pendekatan ini memastikan bahawa semua kunci pendua dikendalikan dengan nilai yang berkaitan.

Akibatnya, kamus dd akan mengandungi nilai gabungan yang sepadan dengan kunci pendua:

print(dd)  # Output: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
Salin selepas log masuk

Kaedah ini amat berguna apabila berurusan dengan set kamus yang besar atau apabila terdapat bilangan kamus input yang sewenang-wenangnya. Ia menggabungkan semua kunci pendua dengan cekap sambil mengekalkan nilainya dalam kamus output yang disatukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kekunci Pendua dengan Cekap?. 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