字典中的键是唯一的。如果字典中存在某个键,d[key] = other_value
只是更改该键的值,它不会创建另一个项目。
>>> d = {'a':1, 'b':'foo'}
>>> d['b'] = 'six'
>>> d
{'b': 'six', 'a': 1}
>>> d.update([('a','bar')])
>>> d
{'b': 'six', 'a': 'bar'}
>>>
如果您想要将数据放入字典中,并且该数据包含具有多个值的键,则可以将这些值放入每个键的列表中。collections.defaultdict
让这变得容易。
>>> a
[('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4), ('f', 5), ('a', 100), ('c', 99), ('d', 98), ('f', 97)]
>>> import collections
>>> d = collections.defaultdict(list)
>>> for key, value in a:
d[key].append(value)
>>> d
defaultdict(<class 'list'>, {'b': [1], 'a': [0, 100], 'e': [4], 'f': [5, 97], 'd': [3, 98], 'c': [2, 99]})
>>>
对于您的问题,从列表中的初始值开始,然后添加到它们。
import random
d = {'a':[0], 'b':[0], 'c':[0]}
for _ in xrange(4):
for key in d:
d[key].append(random.randint(1, 100))
for item in d.items():
print item
>>>
('a', [0, 92, 45, 52, 32])
('c', [0, 51, 85, 72, 4])
('b', [0, 47, 7, 74, 59])
>>>
How to 迭代字典.