Bagaimana untuk Mengakses Nilai Kamus Bersarang dengan Selamat dalam Python?

Linda Hamilton
Lepaskan: 2024-10-18 13:05:03
asal
953 orang telah melayarinya

How to Access Nested Dictionary Values Safely in Python?

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

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

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

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

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!

sumber:php
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
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!