python3 dict的两个列表用匹配的键更新一个列表,值对来自anoth

2024-09-30 01:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要根据匹配的key, value对,用list2中的值更新list1中的字典

编辑: 在这里,我不能把字典里的钥匙当作这样——这也必须是一般性的。 条件是如果两个列表中都存在一个键、值对——list1需要用list2中的所有键、值对进行更新——如果不匹配——它们需要保持不变。明天我可能需要更新flexconnect ot面料的价值。在

list1 = [{
                  "key": "wireless.fabric",
                  "value": ""
                  "descr": ""  
                },
                {
                  "key": "wireless.flexConnect",
                  "value": ""
                  "descr": ""
                },
                {
                  "key": "wireless.primaryAuthServer",
                  "value": ""
                  "descr" : ""
                },
                {
                  "key": "wireless.secondaryAuthServer",
                  "value": ""
                  "descr" : ""

                },
                {
                  "key": "wireless.authMode",
                  "value": "central"
                  "descr": ""
                }
                ]
list2 = [{
                  "key": "wireless.primaryAuthServer",
                  "value": "1.1.1.1"
                  "descr": "primary server details"
                },
                {
                  "key": "wireless.secondaryAuthServer",
                  "value": "2.2.2.2"
                  "descr": "secondary server details"
                }]

我有一个代码片段-但是它给出了一个语法错误-有什么帮助吗?在

^{pr2}$

第三行语法错误!!在


Tags: key编辑字典servervaluedetails条件钥匙
2条回答

这不是一个足够简单的迭代吗?在

for data1 in list1:
    for data2 in list2:
        if data1["key"] == data2["key"]:
            data1["value"] = data2["value"]
            break

注意:我认为你对数据的描述不好。一个更好的表现应该是:

^{pr2}$

答案是:

对于列表2中的项目: 对于索引,枚举(列表1)中的项1: 用于钥匙插入项目.键(): 如果键在item1.keys()中: 如果item1[key]==item[key]: list1[index]=项目 打印(列表1)

相关问题 更多 >

    热门问题