我有一个列表,其中有嵌套的字典,例如以下结构:
[
{'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'family': '',
'given name': '',
'localId': '',
'affiliation': [{'': ''}]},
{'family': '',
'given name': '',
'affiliation': [{'': ''}]}
]
我想在每个嵌套字典中添加一个 id 字典,以使结构变为:
[
{'id':'',
'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'id':'',
'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'id':'',
'family': '',
'given name': '',
'localId': '',
'affiliation': [{'': ''}]},
{'id':'',
'family': '',
'given name': '',
'affiliation': [{'': ''}]}
]
我尝试了以下代码,其中 tmp 是我的列表名称:
tmp.append({'id':df.id[0]})
结果为:
[
{'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'family': '',
'given name': '',
'localId': '',
'affiliation': [{'': ''}]},
{'family': '',
'given name': '',
'affiliation': [{'': ''}]},
{'id': '776'}
]
有人可以建议如何解决此问题,以便我可以在每本词典中添加 id 吗?
我希望使用一行代码而不是循环代码,以便可以将其应用于具有这些嵌套字典的数据框的每个单元格。
答案 0 :(得分:1)
只需循环列表项并添加新字段
l = [
{'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'family': '',
'given': '',
'affiliation': [{'': ''}]},
{'family': '',
'given name': '',
'localId': '',
'affiliation': [{'': ''}]},
{'family': '',
'given name': '',
'affiliation': [{'': ''}]}
]
for e in l:
e['id'] = ''
答案 1 :(得分:1)
我认为您必须遍历字典列表,并在每个字典中添加'id'属性
for i in range(len(tmp)):
tmp[i]['id'] = ''
答案 2 :(得分:0)
尝试一下:
[i.update({'id':''}) for i in tmp]