Rumah >pembangunan bahagian belakang >Tutorial Python >Aplikasi kamus nilai lalai dalam Python dan cara menggunakan defaultdict
Dalam Python, defaultdict ialah jenis kamus khas yang boleh menetapkan nilai lalai secara automatik untuk kunci yang tidak wujud dalam kamus. Kamus jenis ini ditakrifkan dalam modul koleksi. Ia memberikan kami kamus yang lebih mudah dan mudah digunakan.
Kami perlu mengimport modul koleksi yang mengandungi defaultdict terlebih dahulu. Ini boleh dicapai dengan menambah baris kod berikut di bahagian atas kod Python anda:
from collections import defaultdict
Mencipta defaultdict secara sintaksis sama seperti mencipta Python kamus. Kita hanya perlu menggunakan jenis defaultdict sebagai parameter pembina. Sebagai contoh, jika kita ingin membuat defaultdict yang menyimpan integer, kita boleh menggunakan kod berikut:
int_dict = defaultdict(int)
Jika kita ingin menyimpan rentetan dalam defaultdict, kita boleh menggunakan kod berikut:
str_dict = defaultdict(str)
Dalam kedua-dua kes, kami mentakrifkan contoh lalai baharu dengan menghantar jenis kepada pembina lalai. Jenis ini akan ditetapkan kepada nilai lalai yang sepadan untuk semua kekunci defaultdict.
Apabila cuba mengakses kekunci defaultdict, jika kunci itu tidak wujud, nilai lalai sepadan dengan jenis yang dihantar kepada pembina ditetapkan secara automatik. Contohnya, dalam kod di bawah, kami menggunakan defaultdict untuk menyimpan umur seseorang dan menetapkan nilai lalai kepada 0:
age_dict = defaultdict(int) age_dict['alice'] = 25 age_dict['bob'] = 30 age_dict['charlie'] print(age_dict)
Outputnya ialah {‘alice’: 25, ‘bob’: 30, ‘charlie’: 0}, apabila ‘charlie’ tiada dalam kamus lalai, ia secara automatik diisi dengan nilai lalai 0.
Dalam contoh ini, kami menambahkan dua kunci pada kamus lalai, ‘alice’ dan ‘bob’ dan terus bertanya kunci lain, ‘charlie’ Memandangkan ‘charlie’ tidak wujud dalam kamus, defaultdict secara automatik menetapkan nilai yang sepadan dengan kunci itu kepada nilai lalai jenis sepadan yang diluluskan dalam pembina (dalam kes ini, integer 0). Kita dapat melihat bahawa ini sememangnya apa yang kita harapkan.
Kami juga boleh mentakrifkan nilai lalai dengan menyediakan fungsi sebagai nilai lalai kepada fungsi lalai. Fungsi ini akan dipanggil jika kunci hilang daripada kamus dan mengembalikan nilai lalai yang dikehendaki. Sebagai contoh, kita boleh menggunakan kod berikut untuk mentakrifkan fungsi yang mengambil kunci daripada kamus sebagai nilai lalainya:
def return_key(): return "unknown" key_dict = defaultdict(return_key) key_dict['apple'] = 'fruit' print(key_dict['pear']) print(key_dict['banana'])
Outputnya ialah:
tidak diketahui
tidak diketahui
Dalam contoh ini, kami mentakrifkan fungsi return_key() yang hanya mengembalikan "tidak diketahui". Kemudian kami mencipta kamus lalai dan mentakrifkannya menggunakan fungsi ini sebagai nilai lalai. Apabila kami cuba mengakses kekunci "pir" dan "pisang" kami mendapat nilai lalai "tidak diketahui". Walau bagaimanapun, apabila kami menambah kunci "epal" pada kamus, kami mendapat "buah".
Atas ialah kandungan terperinci Aplikasi kamus nilai lalai dalam Python dan cara menggunakan defaultdict. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!