【发布时间】:2020-10-10 08:01:10
【问题描述】:
我想将两个列表合并成一个嵌套结构。
列表_A:[{'id':1,'val':'abc'},{'id':2,'val':'bcd'},{'id':3,'val':'efg'}]
列表_B:[{'ref':1,'name':'xyz'},{'ref':2,'name':'opq'},{'ref:2,'name':'jkl'},{'ref':3,'name':'nmo'}]
结果应该是:
列表_C:[{'id':1,'list_b':[{'name':'xyz'}]},{'id':2,'list_b':[{'name':'opq'},{'name':'jkl'}]},{'id':3,'list_b':[{'name':'nmo'}]}]
我尝试了 pandas join 和 merge,但没有结果。当然,我可以遍历列表并逐键执行,但可能会有更好的解决方案。
【问题讨论】:
-
List_A 和 List_B 必须是字典吗?根据您的示例,元组列表可能更适合表示您的数据,例如 List_A ->
[(1, 'abc'), (2, 'bcd'), (3, 'efg')],这对眼睛的伤害也较小。 -
数据来自通过 sqlalchemy 读入 pandas 数据帧的 sql,所以元组就可以了。
标签: python list dataframe dictionary merge