【发布时间】:2020-10-20 11:26:56
【问题描述】:
我有一个列表,里面有嵌套的字典,比如下面的结构:
[
{'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?
我更喜欢单行代码而不是循环,这样我就可以应用到我拥有这些嵌套字典的数据帧的每个单元格。
【问题讨论】:
-
for d in temp: d['id'] = '776' -
为此创建一个
class似乎是一个更好的解决方案? -
for i, d in enumerate(temp): d['id'] = df.id[i].
标签: python dataframe dictionary