【问题标题】:Is there any function for merge objects having same key是否有合并具有相同键的对象的功能
【发布时间】:2020-11-20 00:49:57
【问题描述】:

我得到了类似的回应

[
    {
      "userid": 1,
      "Jun": 1
    },
    {
      "userid": 2,
      "Jun": 2
    },
    {
      "userid": 2,
      "Jul": 5
    },
    {
      "userid": 2,
      "Jan": 1
    }
]

但我想要这样的回应

[
    {"userid": 1, "Jun": 1},
    {"userid": 2, "Jun": 1, "Jul": 5}
]

【问题讨论】:

    标签: dictionary object merge concat assign


    【解决方案1】:
    from collections import defaultdict
    
    response = [
        {"userid": 1, "Jun": 1},
        {"userid": 2, "Jun": 2},
        {"userid": 2, "Jul": 5},
        {"userid": 2, "Jan": 1},
    ]
    
    result = defaultdict(dict)
    for r in response:
        result[r["userid"]].update(**r)
    
    response = list(result.values())
    
    print(response)
    

    输出:

    [{'userid': 1, 'Jun': 1}, {'userid': 2, 'Jun': 2, 'Jul': 5, 'Jan': 1}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-01
      • 2020-06-20
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      相关资源
      最近更新 更多