Rumah >pembangunan bahagian belakang >Tutorial Python >Kamus Python: Bilakah Anda Harus Menggunakan `collections.defaultdict`?
Menyelidiki Perbezaan: Collections.defaultdict vs. Ordinary Dict
Dalam Python, kamus lalai (collections.defaultdict) berbeza daripada a kamus biasa dengan cara yang penting. Walaupun dict standard menimbulkan KeyError apabila mengakses kunci yang tidak wujud, defaultdict mencipta item yang hilang secara automatik dengan menggunakan fungsi tertentu.
Memahami Contoh
Mari periksa contoh yang disediakan:
d = defaultdict(int)
Di sini, int() ialah fungsi lalai, yang memulakan kekunci yang hilang dengan nilai integer (lalai kepada 0).
for k in s: d[k] += 1
Gelung ini berulang ke atas setiap aksara (k) dalam rentetan s dan menambah kiraan sepadan yang disimpan dalam defaultdict.
d.items() dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])
Hasilnya, kami memperoleh kamus dengan frekuensi aksara.
Dalam contoh kedua:
d = defaultdict(list)
list() ialah fungsi lalai, mencipta senarai kosong sebagai lalai untuk kekunci yang hilang.
for k, v in s: d[k].append(v)
Gelung ini memasangkan kekunci dan nilai daripada senarai s dan menambahkan nilai pada senarai kunci yang sepadan.
d.items() [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Hasilnya ialah kamus di mana kunci adalah warna dan nilai adalah senarai nilai yang sepadan daripada senarai asal.
Atas ialah kandungan terperinci Kamus Python: Bilakah Anda Harus Menggunakan `collections.defaultdict`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!