から値ペアIはlist2
の値でlist1
で辞書を更新する必要が - 一致key, value
一対のpython3 - マッチングキーでつのリストを更新し、別の
EDITに基づく: ここでは、辞書の中のキーを取ることはできません - それは一般的である必要もあります。 条件は、両方のリストにキーと値のペアが存在するかどうかです.list1はlist2のすべてのキーと値のペアで更新する必要があります。一致しない場合は変更しないでください。明日は、フレックスコネクトのファブリック値を更新する必要があります。
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"
}]
私はコードスニペットを持っていますが、構文エラーがあります。
for d in list1:
if(d[k] == d1[k] for d1 in list2 for k in d):
d[k] = [d1[k] for d1 in list2 for k in d]
3行目の構文エラー!
そして、あなたが公正な人物を試してみましたでしょうか? –
'list2'を' key => value'マップに変換し、 'list1'をループして一致するキーを前述のマップの値で更新します。 – zwer
list2のキーと値のペアを取得する - 同じキーと値のペアがlist1にある場合 - それを更新する - 他のすべての辞書をそのままにします。作成できません - list2はlist1--キー、値のペアも一般化する必要があります –