你必须让你的价值成为一个清单。
例如:
>>> cars = {}
>>> cars['2012'] = ['BMW', ' Fiat']
>>> cars['2013'] = ['Ford', 'Renault']
>>> cars
{'2013': ['Ford', 'Renault'], '2012': ['BMW', ' Fiat']}
>>> cars['2012'].append('Toyota')
>>> cars
{'2013': ['Ford', 'Renault'], '2012': ['BMW', ' Fiat', 'Toyota']}
>>> cars['2012']
['BMW', ' Fiat', 'Toyota']
更健壮的例子:
from collections import defaultdict
# initiate the dict
cars = defaultdict(list)
# function for adding cars
def add_cars(year, new_cars):
if isinstance(cars, (list, set)):
# if more than 1 new_cars
cars[year].extend(new_cars)
else:
cars[year].append(new_cars)
# add starting cars
add_cars('2012', 'BMW')
add_cars('2013', 'Ford')
# add new cars
add_cars('2012', 'Fiat')
add_cars('2013', 'Renault')
# view
print cars
>>>
defaultdict(<type 'list'>, {'2013': ['Ford', 'Renault'], '2012': ['BMW', 'Fiat']})
还拥有一本字典来做到这一点的选项:
>>> cars = {'2012':['BMW'], '2013':['Ford']}
>>> new_cars = {'2012':['Fiat'], '2013':['Renault']}
>>> for k, v in new_cars.iteritems():
cars[k].extend(v)
>>> cars
{'2013': ['Ford', 'Renault'], '2012': ['BMW', 'Fiat']}
字典没有一个项目在位置'0',他们是无序的 – jamylak 2013-04-28 10:23:23
_“含义在位置0从new_cars元素被添加到汽车项目在位置0等等。“_ - 'cars'没有_position 0_。它有一个位置“”2012“'和一个位置'”2013“'。 – Eric 2013-04-28 10:23:39
而'{['2012':'宝马','菲亚特'],['2011':'福特','雷诺]}'在语法上无效。 '{'2012':['宝马','菲亚特'],'2011':['福特','雷诺]}'正确 – Eric 2013-04-28 10:24:33