77

これは私を少し悲しくさせていました...

リストから辞書を作成しました

l = ['a','b','c']
d = dict.fromkeys(l, [0,0]) # initializing dictionary with [0,0] as values

d['a'] is d['b'] # returns True

辞書の各値を個別のリストにするにはどうすればよいですか? これは、すべてのキーを反復処理してリストに等しく設定しなくても可能ですか? 他のすべてを変更せずに、1 つのリストを変更したいと思います。

4

4 に答える 4

45

dict 内包表記を使用できます。

>>> keys = ['a','b','c']
>>> value = [0, 0]
>>> {key: list(value) for key in keys}
    {'a': [0, 0], 'b': [0, 0], 'c': [0, 0]}
于 2013-03-20T06:08:14.760 に答える
12

これを使用できます:

l = ['a', 'b', 'c']
d = dict((k, [0, 0]) for k in l)
于 2013-03-20T06:07:58.800 に答える
3
l = ['a','b','c']
d = dict((i, [0, 0]) for i in l)
于 2013-03-20T06:08:37.847 に答える