【发布时间】:2018-04-26 21:11:04
【问题描述】:
我整个上午都在搜索,但大多数合并示例仅基于一个键,我在多个键上找不到任何内容。
x = [
{'pid':111, 'sid':6, 'eid':123, 'x_qty':30},
{'pid':222, 'sid':56, 'eid':6212, 'x_qty':2}
]
y = [
{'pid':111, 'sid':6, 'eid':123, 'y_qty':123},
{'pid':333, 'sid':56, 'eid':6212, 'y_qty':112}
]
pid=111、sid=6、eid=123 的值在 x 和 y 中都匹配,然后合并为一条记录。如果它们不匹配,就照原样带过来。
我想要的最终结果:
z = [
{'pid': 111, 'sid': 6, 'eid': 123, 'x_qty': 30, 'y_qty': 123},
{'pid': 222, 'sid': 56, 'eid': 6212, 'x_qty': 2},
{'pid': 333, 'sid': 56, 'eid': 6212, 'y_qty': 112}
]
【问题讨论】:
-
dict.update() 或 ChainMap 怎么样?
-
@What dict.update 肯定会有所帮助,但解决方案并不是那么简单
-
阅读this question 及其答案是否能解决您的问题?
-
这也可以通过将您的字典对象转换为完整的类对象来解决,这似乎是您正在模仿的。
-
@AlexHall,谢谢。非常类似于我的问题。我看到了一个问题并在那里发布了我的问题,希望有人可以回答。
标签: python python-3.x dictionary