6
Pythonの複数レベルの「collection.defaultdict」
SOの優れた人々のおかげで、私はcollections.defaultdict、特に可読性とスピードの可能性を発見しました。私はそれらを成功させて使用しました。 ここで、3つのレベルの辞書を実装したいと思います。上位2つの辞書defaultdictと下位の辞書intです。これを行う適切な方法が見つかりません。これが私の試みです: from collections import defaultdict d = defaultdict(defaultdict) a = [("key1", {"a1":22, "a2":33}), ("key2", {"a1":32, "a2":55}), ("key3", {"a1":43, "a2":44})] for i in a: d[i[0]] = i[1] これで機能しますが、望ましい動作である以下は機能しません。 d["key4"]["a1"] + 1 私はどこかで2番目のレベルdefaultdictがtype intであることを宣言するべきだったのではないかと思いますが、どこでどのように行うのかわかりませんでした。 私がdefaultdict最初に使用している理由は、新しいキーごとに辞書を初期化する必要がないようにするためです。 よりエレガントな提案はありますか? pythoneersに感謝!
176
python
dictionary
nested