Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kunci Pendua ke dalam Senarai Nilai?

Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kunci Pendua ke dalam Senarai Nilai?

DDD
DDDasal
2024-12-10 07:16:16496semak imbas

How Can I Merge Python Dictionaries with Duplicate Keys into Lists of Values?

Menggabungkan Kamus dengan Kunci Pendua dalam Python

Dalam Python, berurusan dengan berbilang kamus boleh menjadi mencabar, terutamanya apabila menggabungkannya menjadi perlu. Isu biasa timbul apabila kamus berkongsi kunci pendua, dan matlamatnya adalah untuk mengumpulkan semua nilai yang dikaitkan dengan kunci ini ke dalam satu senarai.

Penyelesaian: defaultdict

Untuk mengendalikan ini dengan cekap, Python yang berkuasa alat yang dipanggil defaultdict daripada modul koleksi mula dimainkan. Ia membenarkan untuk mencipta nilai lalai (dalam kes ini, senarai kosong) untuk sebarang kunci yang tidak wujud dalam kamus.

Pertimbangkan contoh berikut:

d1 = {1: 2, 3: 4}
d2 = {1: 6, 3: 7}

Untuk menggabungkan kamus ini, mengumpul nilai daripada kekunci yang sepadan, kita boleh menggunakan defaultdict seperti berikut:

from collections import defaultdict

dd = defaultdict(list)

for d in (d1, d2): # loop through all input dictionaries
    for key, value in d.items():
        dd[key].append(value)
    
print(dd) # result: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})

Dalam ini kod:

  • Kami mencipta defaultdict kosong dengan defaultdict(list).
  • Kami mengulangi setiap kamus input d.
  • Untuk setiap pasangan nilai kunci dalam setiap kamus, kami menambahkan nilai pada senarai yang dikaitkan dengan kunci dalam lalai kami.
  • Hasilnya ialah lalai di mana kunci mewakili kunci digabungkan daripada semua kamus dan nilai adalah senarai yang mengandungi semua nilai yang sepadan.

Penyelesaian ini dengan cekap mengumpul semua nilai yang dikaitkan dengan kunci padanan daripada berbilang kamus, menyediakan cara yang bersih dan serba boleh untuk mengendalikan kunci pendua .

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kunci Pendua ke dalam Senarai Nilai?. 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