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
Lepaskan: 2024-12-22 14:25:17
asal
952 orang telah melayarinya

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}
Salin selepas log masuk

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)}
Salin selepas log masuk

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]})
Salin selepas log masuk

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!

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