Rumah > pembangunan bahagian belakang > Tutorial Python > Aplikasi kamus nilai lalai dalam Python dan cara menggunakan defaultdict

Aplikasi kamus nilai lalai dalam Python dan cara menggunakan defaultdict

王林
Lepaskan: 2023-04-23 11:52:07
ke hadapan
1246 orang telah melayarinya

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.

1. Import lalai

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

2. Cipta 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)
Salin selepas log masuk

Jika kita ingin menyimpan rentetan dalam defaultdict, kita boleh menggunakan kod berikut:

str_dict = defaultdict(str)
Salin selepas log masuk

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.

3. Menggunakan 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)
Salin selepas log masuk

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.

4. Tambahkan nilai lalai lalai

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

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!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan