【问题标题】:Python : Updating an array in dictionary with values from another dictionary if a key matchPython:如果键匹配,则使用另一个字典中的值更新字典中的数组
【发布时间】:2021-07-02 23:43:04
【问题描述】:

如果找到键值匹配,我想更新字典数组中的所有值。 “a”是我要检查的键。

dict1={'Array1':[{'a':123,'b':456,'c':678},{'a':987,'b':654,'c':421}]}

dict2={'a':987,'b':555,'c':111}

预期输出:

dict3={'Array1': [{'a': 123, 'b': 456, 'c': 678}, {'a': 987, 'b': 555, 'c': 111}]}

由于 'a':987 在第二个数组中匹配,所有值都从 dict2 更新。

在 Python 中寻找建议。我正在考虑从两个字典中创建一个数据框。加入他们并更新,然后转换回 dict。还有其他简单的方法吗?

【问题讨论】:

    标签: python pandas dictionary


    【解决方案1】:

    试试update

    dict1={'Array1':[{'a':123,'b':456,'c':678},{'a':987,'b':654,'c':421}]}
    
    dict2={'a':987,'b':555,'c':111}
    
    for data in dict1['Array1']:
        if(data['a'] == dict2['a']):
            data.update(dict2)
            
    print(dict1)
    
    {'Array1': [{'a': 123, 'b': 456, 'c': 678}, {'a': 987, 'b': 555, 'c': 111}]}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多