我有一个称为test的词典列表:
test = [
{
'age': 15,
'country': 'Canada'
},
{
'age': 21,
'country': 'Denmark'
},
{
'age': 35,
'country': 'USA'
},
{
'age': 55,
'country': 'Canada'
}
]
我想为每本词典添加一个新的名为“ degrees”的键以及以下列表中的一个值:
listy = [0,1,1,2]
我期望的结果如下:
[{'age': 15, 'country': 'Canada', 'degrees': 0},
{'age': 21, 'country': 'Denmark', 'degrees': 1},
{'age': 35, 'country': 'USA', 'degrees': 1},
{'age': 55, 'country': 'Canada', 'degrees': 2}]
我尝试过:
listy = [0,1,1,2]
for num,n in enumerate(test):
n['degrees'] = listy[num]
但是抛出一个错误...我认为有一个简单的解决方案,但是我很沮丧。 感谢您的帮助-预先感谢!
答案 0 :(得分:5)
您可以使用zip
同时迭代字典和新值,这比每次迭代中的索引编制要快
for each_dict, value in zip(test, listy):
each_dict['degrees'] = value
由于列表和字典都是可变的,因此修改each_dict
将更新列表。