この質問が既にここで検討されている場合は、事前にお詫び申し上げます。ここで別の回答を見ましたが、必要なものが見つかりませんでした。
私の目標は、このような辞書を作成することです -{'a':[10, 9, 10, 10], 'b':[10, 9, 1, 0], 'c':[0, 5, 0, 1], and so on}
私が持っているのは、重複したキーを持つ複数の辞書です(他のすべての辞書の同じキー)、このようなものです
{'a':10, 'b': 0, 'c': 2}
{'a':7, 'b': 4, 'c': 4}
{'a':4, 'b': 5, 'c': 3}
そのような辞書の数、または「f」または「g」まで続くキーがあるかどうかを知る方法はありませんが、キーが重複していることはわかっています。試してみましdefaultdict
たが、結果は--
defaultdict(<type 'list'>, {'a': [10]})
defaultdict(<type 'list'>, {'a': [10], 'b': [3]})
defaultdict(<type 'list'>, {'a': [10], 'b': [3], 'c': [0]})
そして、次の辞書についても同じこと -
defaultdict(<type 'list'>, {'a': [4]})
defaultdict(<type 'list'>, {'a': [4], 'b': [5]})
defaultdict(<type 'list'>, {'a': [4], 'b': [5], 'c': [1]})
上記の出力用に私が持っているコードは -
d = collections.defaultdict(list)
for k, v in z.iteritems():
d[k].append(v)
c = d.items()
print d
print c
代わりに (を印刷するために) を実行するd.items()
と、-
[('a', [10])]
[('a', [10]), ('b', [3])]
[('a', [10]), ('c', [0]), ('b', [3])]
これは、辞書ごとに繰り返されます。すべてのキー、値を保持する 1 つの dict を取得するにはどうすればよいですか -
{'a':[10,0,..], 'b':[4, 3, 4,..], etc.} ?
また、私が持っている辞書は for ループの結果であり、一意の変数に個別に保存されていないことも付け加えておく必要があります。