我目前有一个字典,如下所示:
{'BOB': [['AUDI', 'BLACK', 'PETROL'],
['MINI', 'PINK', 'PETROL'],
['VW', 'BLUE', 'DIESEL']],
'DAVE': [['BMW', 'PURPLE', 'PETROL'],
['VOLVO', 'GREY', 'PETROL']]}
我正在寻找的是为每个键列表添加一个字典。该词典将是这样的:
{'TYRE': RUBBER, 'ALLOY': 17, 'SUNROOF': YES}
最终结果如下:
{'BOB': [['AUDI', 'BLACK', 'PETROL',
{'TYRE': RUBBER, 'ALLOY': 17, 'SUNROOF': YES}],
['MINI', 'PINK', 'PETROL',
{'TYRE': RUBBER, 'ALLOY': 17, 'SUNROOF': YES}]
# ...
谢谢,
答案 0 :(得分:2)
您要将附加的字典添加到值中的每个列表中,这些列表本身就是列表。这些是可变的,所以直接引用这些内部列表:
for valuelist in yourdict.values():
for sublist in valuelist:
sublist.append(yourotherdict.copy())
注意在那里使用.copy()
;我们正在创建yourotherdict
结构的新副本以便每次追加,否则它们都将是相同的dict ,并且操纵一个将操纵每个列表中的所有引用。
答案 1 :(得分:1)
dic={'BOB': [['AUDI', 'BLACK', 'PETROL'],
['MINI', 'PINK', 'PETROL'],
['VW', 'BLUE', 'DIESEL']],
'DAVE': [['BMW', 'PURPLE', 'PETROL'],
['VOLVO', 'GREY', 'PETROL']]}
dic1={'TYRE': 'RUBBER', 'ALLOY': 17, 'SUNROOF': 'YES'}
for x in dic:
for y in dic[x]:
y.append(dic1)
print dic
<强>输出:强>
{'BOB': [['AUDI', 'BLACK', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}], ['MINI', 'PINK', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}], ['VW', 'BLUE', 'DIESEL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}]], 'DAVE': [['BMW', 'PURPLE', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}], ['VOLVO', 'GREY', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}]]}