如何解决Python一个班轮合并具有共同价值的字典
我所拥有的:
a=[{'name':'a','vals':1,'required':'yes'},{'name':'b','vals':2},{'name':'d','vals':3}]
b=[{'name':'a','type':'car'},'type':'bike'},{'name':'c','type':'van'}]
我尝试过的事情:
[[i]+[j] for i in b for j in a if i['name']==j['name']]
我得到的:
[[{'name': 'a','type': 'car'},{'name': 'a','vals': 1}],[{'name': 'b','type': 'bike'},{'name': 'b','vals': 2}]]
我想要的:
[{'name': 'a','type': 'car','vals': 1},'type': 'bike','vals': 2}]
注意:
解决方法
对于Python 3,您可以执行以下操作:
a=[{'name':'a','vals':1},{'name':'b','vals':2},{'name':'d','vals':3}]
b=[{'name':'a','type':'car'},'type':'bike'},{'name':'c','type':'van'}]
print([{**i,**j} for i in b for j in a if i['name']==j['name']])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。