【问题标题】:Array of dict to dictdict 到 dict 的数组
【发布时间】:2023-01-20 22:13:12
【问题描述】:

我有数组

first = [{'x': 'name1', 'a': '333'}, {'x': 'name2', 'a': '234'}, {'x': 'name3', 'a': '432'}, {'x': 'name4', 'a': '943'}]
second = [{'x': 'name1', 'b': '1333'}, {'x': 'name2', 'b': '1234'}, {'x': 'name3', 'b': '1432'}, {'x': 'name4', 'b': '1943'}]

我可以使用什么功能来获得此结果:

[{'x': 'name1', 'b': '1333', 'a': '333'}, {'x': 'name2', 'b': '1234', 'a': '234'}, {'x': 'name3', 'b': '1432', 'a': '432'}, {'x': 'name4', 'b': '1943', 'a': '943'}]

【问题讨论】:

    标签: python


    【解决方案1】:

    您可以像这样使用 | 简单地组合字典:

    result = [f | s for f, s in zip(first, second)]
    

    【讨论】:

    • 在 Python 3.9.0 或更高版本(2020 年 10 月 17 日发布,PEP-584)中,您可以使用以下命令进行字典联合:z = x | y
    • @Kins 是的,这是正确的:-)
    • 请注意,zip 不是基于键连接而是位置连接,因此如果确保列表项之间的键 x 匹配很重要,这可能不是您的解决方案。
    猜你喜欢
    • 2018-12-02
    • 2020-02-06
    • 2012-03-21
    • 2011-04-16
    • 2021-10-06
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多