ホームページ > バックエンド開発 > Python チュートリアル > Python でネストされた辞書からすべての値を再帰的に出力するにはどうすればよいですか?

Python でネストされた辞書からすべての値を再帰的に出力するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-29 05:31:11
オリジナル
649 人が閲覧しました

How to Recursively Print All Values from a Nested Dictionary in Python?

ネストされた辞書値による再帰ループ

問題ステートメント

ネストされた辞書が与えられた場合、タスクはそのすべてのキーと値のペアを走査することです。ネストされた辞書ではない値を出力します。ネストされた辞書の場合、キーと値のペアを出力するために走査を再帰的に続行する必要があります。

解決策

再帰を利用して、このタスクを実行する関数を定義できます。

def myprint(d):
    for k, v in d.items():
        if isinstance(v, dict):
            myprint(v)
        else:
            print("{0} : {1}".format(k, v))
ログイン後にコピー

この関数は引数として辞書を受け取り、そのキーと値のペアを反復処理します。値がネストされた辞書でない場合は、キーと値のペアが出力されます。値が辞書の場合、この新しい辞書を使用して myprint 関数を再帰的に呼び出します。

次の辞書について考えてみましょう:

d = {
    "xml": {
        "config": {
            "portstatus": {"status": "good"},
            "target": "1"
        },
        "port": "11"
    }
}
ログイン後にコピー

myprint 関数を呼び出すと、出力:

xml : {config: {portstatus: {status: good}, target: 1}, port: 11}
config : {portstatus: {status: good}, target: 1}
portstatus : {status: good}
target : 1
port : 11
ログイン後にコピー

このソリューションは、すべてのネストされた辞書値をループして出力する再帰メカニズムを提供します。

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

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