ホームページ > バックエンド開発 > Python チュートリアル > defaultdict は、無限の入れ子の独自のデフォルト値として再帰的に機能しますか?

defaultdict は、無限の入れ子の独自のデフォルト値として再帰的に機能しますか?

Susan Sarandon
リリース: 2024-11-28 02:35:12
オリジナル
412 人が閲覧しました

Can a defaultdict Recursively Serve as its Own Default Value for Infinite Nesting?

defaultdict の無限にネストされたdefaultdict の作成

質問:

としても機能するdefaultdictを作成することは可能ですか?それ自体のデフォルト値であり、無限レベルの再帰的defaultdict?が生成されます。目標は、KeyError 例外が発生することなく、深くネストされた要素にアクセスできるようにすることです。

回答:

他の回答は、「無限に多くの」ネストされたdefaultdictの作成に対処しています。彼らは、2 つの深さのdefaultdictの具体的なニーズを見落としています。これを実現するには、次のコードを使用できます。

defaultdict(lambda: defaultdict(dict))
ログイン後にコピー

この構造には次の利点があります。

  • 明示性: より単純で理解しやすいです。
  • カスタマイズ可能なリーフ:リストやセットなど、辞書以外のものになるよう、defaultdict の「リーフ」値をカスタマイズします。

例:

x = defaultdict(lambda: defaultdict(dict))
x[0][1][0]
{}  # returns an empty dictionary
ログイン後にコピー

以上がdefaultdict は、無限の入れ子の独自のデフォルト値として再帰的に機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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