Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Selesaikan ralat Python: KeyError: 'xxx'

Selesaikan ralat Python: KeyError: 'xxx'

王林
王林asal
2023-08-19 23:10:571876semak imbas

解决Python报错:KeyError: 'xxx'

Penyelesaian kepada ralat Python: KeyError: 'xxx'

Semasa proses pengaturcaraan Python, kita sering menghadapi pelbagai mesej ralat. Antaranya, KeyError: 'xxx' ialah salah satu jenis ralat biasa. Ralat ini biasanya berlaku apabila menggunakan kamus (dikt) Apabila kita cuba mengakses nilai dalam kamus melalui kunci yang tidak wujud, Python akan membuang pengecualian KeyError.

Sebagai contoh, katakan kami mempunyai kamus yang mengandungi nama pelajar dan gred yang sepadan:

student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
print(student_scores['Alice'])
print(student_scores['David'])

Dalam kod di atas, kami mula-mula berjaya mengakses nilai yang sepadan 95 melalui kekunci 'Alice', tetapi apabila kami cuba mengakses kekunci 'David ', KeyError: 'David' akan berlaku kerana kunci ini tidak wujud dalam kamus.

Jadi, apabila kita menghadapi ralat KeyError: 'xxx', bagaimanakah kita harus menyelesaikannya? Di bawah saya akan memberikan beberapa penyelesaian biasa.

  1. Semak sama ada kunci itu wujud: Sebelum mengakses kamus, kita boleh menggunakan kata kunci dalam untuk menyemak sama ada kunci yang hendak diakses itu wujud. Contohnya:
student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
if 'David' in student_scores:
    print(student_scores['David'])
else:
    print("Key 'David' not found")

Dengan cara ini, walaupun kunci 'David' tidak wujud, kami tidak akan menemui pengecualian KeyError.

  1. Gunakan kaedah get(): Objek kamus menyediakan kaedah get(), yang boleh mengembalikan nilai lalai apabila kunci tidak wujud dan bukannya membuang pengecualian KeyError. Contohnya:
student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
print(student_scores.get('David', 'Key not found'))

Dalam kod di atas, apabila kami mengakses kekunci 'David' yang tidak wujud, rentetan 'Kunci tidak ditemui' dikembalikan tanpa pengecualian KeyError.

  1. Gunakan pernyataan cuba-kecuali: Jika kita mungkin menghadapi masalah dengan kunci tertentu, kita boleh menggunakan pernyataan cuba-kecuali untuk menangkap pengecualian KeyError dan melaksanakan kod pemprosesan yang sepadan. Contohnya:
student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
try:
    print(student_scores['David'])
except KeyError:
    print("Key 'David' not found")

Dalam contoh ini, apabila pengecualian KeyError berlaku, blok kod berikut akan dilaksanakan dan "Kekunci 'David' tidak ditemui" akan dikeluarkan tanpa mengganggu pelaksanaan program.

Untuk meringkaskan, apabila kita menghadapi ralat KeyError: 'xxx', kita boleh menyelesaikan masalah dengan menyemak sama ada kunci itu wujud, menggunakan kaedah get() atau menggunakan pernyataan cuba-kecuali. Kaedah ini boleh membantu kami mengendalikan pengecualian akses nilai kunci dengan lebih baik dalam kamus dan meningkatkan keteguhan dan kestabilan program.

Saya harap artikel ini akan membantu dalam menyelesaikan ralat Python: KeyError: 'xxx' dan membolehkan semua orang menangani jenis ralat biasa ini dengan lebih baik.

Atas ialah kandungan terperinci Selesaikan ralat Python: KeyError: 'xxx'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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