0

実装は簡単だと思います。

コンストラクターで辞書のリストを取得するクラスのような辞書が必要です。

この辞書からキーで読み取る場合、dictクラスは辞書のリストをチェックし、最初の値を返す必要があります。このキーが含まれていない場合は、通常のdictのようにKeyErrorをスローする必要があります。

この辞書コンテナは、私の使用のためにのみ読み取る必要があります。

4

3 に答える 3

3

あなたはcollections.ChainMap、Pythonの次のバージョン(3.3、今年後半に最終版になる予定)に含まれる予定のを説明しているようです。collectionsPythonの現在/以前のバージョンの場合、ソースコードから実装をコピーできます。

于 2012-05-31T10:39:42.297 に答える
0

質問に対する実際の回答ではありません。すべての辞書を1つにマージするメソッドを定義した場合はどうなるでしょうか。なぜそれのために新しいクラスを作るのですか?
マージする方法:1つの式で2つのPython辞書をマージする方法は?
Varargs:可変数の引数を関数に渡すことはできますか?

于 2012-05-31T10:35:12.273 に答える
0

このロジックを使用すると、これを簡単に実装できます。

  1. リスト内のすべての辞書を繰り返し処理します。
  2. 各辞書について、 key in valueステートメントを使用して、必要なキーがあるかどうかを確認します。
  3. 値が見つかった場合は、関数から値を返します。
  4. すべてのディクショナリを繰り返し処理しても値が見つからない場合は、KeyError例外を発生させます。
于 2012-05-31T10:37:43.823 に答える