ホームページ > バックエンド開発 > Python チュートリアル > Python でネストされた辞書値に安全にアクセスするにはどうすればよいですか?

Python でネストされた辞書値に安全にアクセスするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-18 13:05:03
オリジナル
1050 人が閲覧しました

How to Access Nested Dictionary Values Safely in Python?

入れ子になった辞書値に安全にアクセスする

Python で入れ子になった辞書を操作する場合、エラーを避けるために値を安全に取得することが重要です。これを達成するには、複数のアプローチがあります。

1.ネストされた get() 呼び出し

ネストされた辞書で 2 つの連続した get() 呼び出しを使用します:

<code class="python">example_dict.get('key1', {}).get('key2')</code>
ログイン後にコピー

これにより、'key1' または 'key2' のいずれかの場合に None が返されるようになります。は存在せず、入れ子の構造が維持されます。

2. try...Except ブロック

KeyError 例外をキャッチするために try...Except ブロックを使用します:

<code class="python">try:
    example_dict['key1']['key2']
except KeyError:
    pass</code>
ログイン後にコピー

これは機能しますが、最初の欠落キーの後でショートします。

3. Hasher クラス

__missing__() メソッドをオーバーライドする dict のサブクラスとして Hasher クラスを定義します。

<code class="python">class Hasher(dict):
    def __missing__(self, key):
        value = self[key] = type(self)()
        return value</code>
ログイン後にコピー

Hasher を使用すると、KeyError を発生させることなく、ネストされた値に安全にアクセスできます。代わりに空のハッシュを返します。

4. Safeget ヘルパー関数

複雑さを隠すヘルパー関数を作成します。

<code class="python">def safeget(dct, *keys):
    for key in keys:
        try:
            dct = dct[key]
        except KeyError:
            return None
    return dct</code>
ログイン後にコピー

この関数により、ネストされた値に安全にアクセスする簡潔な方法が可能になります。

Byこれらの手法を利用すると、入れ子になった辞書から値を安全に取得でき、Python コードの堅牢性とエラー処理が保証されます。

以上がPython でネストされた辞書値に安全にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート