Mengagregatkan Data daripada Berbilang Kamus Dengan Cekap
Apabila bekerja dengan berbilang kamus, keperluan mungkin timbul untuk menggabungkan data mereka, mengumpul nilai untuk kunci yang sepadan ke dalam kamus baharu. Tugasan ini menimbulkan cabaran apabila kamus mungkin mengandungi kunci yang tiada pada orang lain.
Untuk menangani cabaran ini dengan berkesan, kami boleh menggunakan lalai daripada modul koleksi. Begini cara ia berfungsi:
from collections import defaultdict d1 = {1: 2, 3: 4} d2 = {1: 6, 3: 7} dd = defaultdict(list) for d in (d1, d2): # Include all dictionaries here for key, value in d.items(): dd[key].append(value)
Kod ini berulang pada setiap kamus, menambah setiap pasangan nilai kunci pada diklat lalai. Dict lalai secara automatik memulakan kunci yang hilang dengan senarai kosong. Oleh itu, apabila kunci ditemui dalam kamus tetapi tidak dalam kamus sebelumnya, senarai baharu dicipta untuk nilainya.
Hasil akhir yang diperoleh dalam dd ialah lalai di mana setiap kunci sepadan dengan senarai nilai dikumpul daripada semua kamus input.
print(dd) # Result: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
Penyelesaian ini memastikan pengagregatan data yang cekap dan komprehensif daripada berbilang kamus, mengendalikan walaupun kes yang tiada kunci.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Kamus dengan Kecekapan dengan Kekunci Yang Berpotensi Hilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!