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に感謝!
multiprocessing
これらをやり取りすることに不満があります。