ホームページ >バックエンド開発 >Python チュートリアル >Python で無限レベルの再帰的defaultdictを作成するにはどうすればよいですか?
無限レベルの再帰的defaultdictの作成
Pythonのdefaultdictは、辞書内で欠落しているキーのデフォルト値を提供する多用途ツールです。しかし、無限レベルの再帰的なdefaultdictを作成することは可能でしょうか?これは、デフォルト値もdefaultdictであるdefaultdictを作成することを意味し、実質的にネストされたdefaultdictを作成します。
最初は、x =defaultdict(defaultdict)が2レベルのdefaultdictを作成すると予想するかもしれませんが、x[0にアクセスします][0] は KeyError になります。無限レベルの再帰を実現するには、別のアプローチが必要です。
1 つの解決策は、デフォルト値としてラムダ関数を使用することです。
x = defaultdict(lambda: defaultdict(dict))
これにより、デフォルト値がデフォルト値として辞書を含む別のdefaultdictを返す関数。これにより、x[0][1][0] にアクセスするとネストされたdefaultdicts内に空の辞書が作成されるため、無限レベルの再帰が可能になります。
他の回答で提示された再帰的方法と比較して、このアプローチにはいくつかの利点があります。 :
以上がPython で無限レベルの再帰的defaultdictを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。