検索

ホームページ  >  に質問  >  本文

python - 如何为一个dict字典进行多层级赋值?

ringa_leeringa_lee2826日前1548

全員に返信(2)返信します

  • 大家讲道理

    大家讲道理2017-04-18 10:09:26

    この構造は自分で実装できます。
    次の例では、AutoVivification は dict から継承します

    リーリー

    AutoVivification は次のように使用できます:

    リーリー

    出力:

    リーリー

    さらに、AutoVivification の別の実装方法があります。これは、dict の __missing__ マジック メソッドを直接オーバーロードすることです。延長として考えてください。

    リーリー

    もう 1 つ、Python 2.5 以降のバージョンでは、よりスケーラブルな dict 型をカスタマイズできる collections.defaultdict 型が追加されました。
    ドキュメントには、実装原則は __missing__ メソッドをオーバーロードすることであると記載されています。 AutoVivification は次のように表現することもできます:

    リーリー

    defaultdict は、最初のパラメータが default_factory である dict 型を構築します。__missing__ が呼び出されるとき、戻り値は、default_factory を使用して構築されます。
    defaultdict のその他の例

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:09:26

    defaultdict パッケージの使用法を添付します:

    リーリー

    出力:

    リーリー

    このようにして、望ましい効果を達成できます。

    補足:
    defaultdict() はデフォルトのパラメータを受け取ります。これは型名またはパラメータなしで呼び出し可能な関数にすることができます
    これは非常に便利です

    リーリー

    出力:

    リーリー

    返事
    0
  • キャンセル返事