Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kekunci Padanan dengan Cekap ke dalam Tuple Nilai?

Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kekunci Padanan dengan Cekap ke dalam Tuple Nilai?

Linda Hamilton
Linda Hamiltonasal
2024-12-22 14:25:171023semak imbas

How Can I Efficiently Merge Python Dictionaries with Matching Keys into Tuples of Values?

Menggabungkan Kamus dengan Kekunci Padanan: Tutorial

Dalam Python, menggabungkan kamus dengan menggabungkan nilai yang dikaitkan dengan kekunci padanan boleh menjadi tugas biasa. Mari kita teroka kaedah untuk mencapai matlamat ini dengan cekap.

Pernyataan Masalah

Diberikan berbilang kamus dengan pasangan nilai kunci, seperti:

d1 = {key1: x1, key2: y1}
d2 = {key1: x2, key2: y2}

Objektifnya adalah untuk mencipta kamus baharu di mana setiap kunci mempunyai tuple nilai yang sepadan daripada kamus input. Sebagai contoh, hasil yang diingini ialah:

d = {key1: (x1, x2), key2: (y1, y2)}

Penyelesaian: Menggunakan defaultdict

Satu pendekatan yang cekap untuk menggabungkan kamus sambil mengumpul nilai daripada kekunci yang sepadan adalah dengan memanfaatkan defaultdict kelas daripada modul koleksi. Berikut ialah demonstrasi langkah demi langkah:

  1. Tentukan objek lalai, yang secara automatik mencipta senarai untuk kekunci yang hilang.
  2. Lelaran pada kamus input.
  3. Untuk setiap kamus, untuk setiap pasangan nilai kunci, tambahkan nilai pada senarai yang dikaitkan dengan kunci dalam defaultdict.
  4. Design default yang terhasil akan mempunyai kunci yang mewakili kunci asal daripada semua kamus input dan nilai sebagai senarai yang mengandungi nilai yang sepadan.

Pelaksanaan Kod

from collections import defaultdict

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

dd = defaultdict(list)

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

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

Dengan mengikuti langkah ini, anda boleh menggabungkan kamus dengan berkesan dengan memadankan kunci dan menggabungkan nilai yang berkaitan ke dalam kamus baharu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Kamus Python dengan Kekunci Padanan dengan Cekap ke dalam Tuple 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