Mengakses Nilai Kamus Bersarang Dengan Selamat
Apabila bekerja dengan kamus bersarang dalam Python, adalah penting untuk mendapatkan semula nilai dengan selamat untuk mengelakkan ralat. Terdapat pelbagai pendekatan untuk mencapai ini:
1. Panggilan get() bersarang
Gunakan dua panggilan get() berturut-turut pada kamus bersarang:
<code class="python">example_dict.get('key1', {}).get('key2')</code>
Ini memastikan Tiada satu dikembalikan jika sama ada 'key1' atau 'key2' tidak wujud, memelihara struktur bersarang.
2. cuba...kecuali Sekat
Gunakan percubaan...kecuali blok untuk menangkap pengecualian KeyError:
<code class="python">try: example_dict['key1']['key2'] except KeyError: pass</code>
Ini berfungsi tetapi litar pintas selepas kekunci pertama hilang.
3. Kelas Hasher
Tentukan kelas Hasher sebagai subkelas dict yang mengatasi kaedah __missing__():
<code class="python">class Hasher(dict): def __missing__(self, key): value = self[key] = type(self)() return value</code>
Menggunakan Hasher, anda boleh mengakses nilai bersarang dengan selamat tanpa meningkatkan KeyErrors, sebaliknya mengembalikan Hasher kosong.
4. Fungsi Safeget Helper
Buat fungsi pembantu yang menyembunyikan kerumitan:
<code class="python">def safeget(dct, *keys): for key in keys: try: dct = dct[key] except KeyError: return None return dct</code>
Fungsi ini membolehkan cara ringkas untuk mengakses nilai bersarang dengan selamat.
Oleh kerana menggunakan teknik ini, anda boleh mendapatkan semula nilai dengan selamat daripada kamus bersarang, memastikan keteguhan dan pengendalian ralat dalam kod Python anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nilai Kamus Bersarang dengan Selamat dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!