KeyError: Bagaimana untuk menyelesaikan ralat kata kunci kamus Python?

王林
Lepaskan: 2023-06-24 15:26:13
asal
3515 orang telah melayarinya

Dalam pengaturcaraan Python, kamus ialah struktur data yang sangat biasa digunakan untuk menyimpan pasangan nilai kunci. Dan apabila kami cuba mengakses nilai utama yang tidak wujud dalam kamus, kami akan menghadapi pengecualian KeyError. Artikel ini akan memberikan beberapa kaedah untuk menyelesaikan ralat kata kunci kamus Python.

  1. Gunakan operator dalam

Apabila mengakses nilai kunci yang mungkin tidak wujud dalam kamus, kita boleh menggunakan operator dalam untuk menentukan sama ada nilai kunci wujud dalam kamus. Contohnya:

my_dict = {"apple": 1, "banana": 2, "orange": 3} if "pear" in my_dict: print(my_dict["pear"]) else: print("The key 'pear' does not exist in the dictionary.")
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mencipta kamus my_dict dan menggunakan operator in untuk menentukan sama ada nilai utama "pear" wujud dalam kamus. Oleh kerana nilai kunci tidak wujud, program melaksanakan blok pernyataan else dan mengeluarkan mesej ralat.

  1. Gunakan kaedah dapatkan kamus

Selain menggunakan operator dalam, kami juga boleh menggunakan kaedah dapatkan kamus untuk mengelakkan pengecualian KeyError. Kaedah get boleh menerima dua parameter, parameter pertama ialah nilai kunci untuk ditemui, dan parameter kedua ialah nilai lalai yang dikembalikan apabila nilai kunci tidak wujud. Contohnya:

my_dict = {"apple": 1, "banana": 2, "orange": 3} print(my_dict.get("pear", "The key 'pear' does not exist in the dictionary."))
Salin selepas log masuk

Dalam kod di atas, kaedah get akan terlebih dahulu menyemak sama ada nilai kunci "pear" wujud dalam my_dict Memandangkan nilai kunci tidak wujud, kaedah get akan mengembalikan parameter kedua, iaitu mesej ralat rentetan.

  1. Gunakan mekanisme pengendalian pengecualian

Jika kami mahu mengendalikan pengecualian KeyError tersuai, kami boleh menggunakan mekanisme pengendalian pengecualian Python. Contohnya:

my_dict = {"apple": 1, "banana": 2, "orange": 3} try: print(my_dict["pear"]) except KeyError: print("The key 'pear' does not exist in the dictionary.")
Salin selepas log masuk

Dalam kod di atas, kami menggunakan blok pernyataan cuba-kecuali untuk menangkap pengecualian KeyError dan mengeluarkan mesej ralat tersuai.

  1. Gunakan kelas defaultdict dalam modul koleksi

Selain itu, kami juga boleh menggunakan kelas defaultdict dalam modul koleksi Python untuk mengelakkan pengecualian KeyError. Kelas defaultdict boleh menerima fungsi kilang sebagai parameter untuk menjana nilai lalai. Contohnya:

from collections import defaultdict my_dict = defaultdict(lambda: "The key does not exist in the dictionary.") my_dict["apple"] = 1 my_dict["banana"] = 2 my_dict["orange"] = 3 print(my_dict["pear"])
Salin selepas log masuk

Dalam kod di atas, kami mencipta objek lalai my_dict dan lulus dalam fungsi lambda sebagai parameter untuk menjana nilai lalai. Apabila mengakses nilai kunci yang tidak wujud "pear", kamus akan secara automatik mengembalikan nilai lalai yang dijana oleh fungsi lambda tanpa menimbulkan pengecualian KeyError.

Ringkasnya, di atas adalah beberapa cara untuk menyelesaikan ralat kata kunci dalam kamus Python. Dalam pengaturcaraan sebenar, kita boleh memilih kaedah yang sesuai mengikut situasi khusus untuk mengelakkan berlakunya pengecualian KeyError.

Atas ialah kandungan terperinci KeyError: Bagaimana untuk menyelesaikan ralat kata kunci kamus Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!