Menggabungkan Kamus dalam Python: Menambah Nilai untuk Kekunci Bertindih
Apabila bekerja dengan berbilang kamus, selalunya perlu untuk menggabungkannya dengan cara yang bermakna . Satu senario biasa melibatkan penambahan nilai kunci yang muncul dalam kedua-dua kamus sambil mengekalkan kunci yang hanya wujud dalam satu.
Masalah:
Pertimbangkan kamus berikut:
Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5}
Matlamatnya adalah untuk menggabungkan kamus ini supaya hasilnya ialah:
{'a': 1, 'b': 5, 'c': 7, 'd': 5}
Penyelesaian Menggunakan Collections.Counter:
Cara Pythonic dan cekap untuk mencapai ini adalah dengan menggunakan collections.Counter class. Ia merupakan subkelas dict yang menyediakan cara mudah untuk melakukan pengiraan berasaskan elemen, yang sesuai dengan tugas menggabungkan kamus.
from collections import Counter A = Counter({'a':1, 'b':2, 'c':3}) B = Counter({'b':3, 'c':4, 'd':5})
Untuk menggabungkan kamus, kami hanya menambah objek Counter:
merged_dict = A + B
Hasilnya ialah objek Counter baharu, yang secara automatik menambah nilai untuk bertindih kunci:
merged_dict.most_common() # Output: [('c', 7), ('b', 5), ('d', 5), ('a', 1)]
Menukarnya kepada kamus biasa adalah remeh:
merged_dict = dict(merged_dict)
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Kamus Python dan Jumlah Nilai dengan Kecekapan untuk Kunci Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!