list1 = [
{"code": 1, "a": 7, "b": 9, "c": 24},
{"code": 2, "a": 78, "b": 12, "c": 45},
{"code": 3, "a": 3, "b": 5, "c": 16}
]
list2=[
{"code": 1, "a": 45, "b": 21, "c": 24},
{"code": 2, "a": 84, "b": 7, "c": 55}
]
输出:
list1 = [
{"code": 1, "a": 45, "b": 21, "c": 24},
{"code": 2, "a": 84, "b": 7, "c": 55},
{"code": 3, "a": 3, "b": 5, "c": 16}
]
我需要根据相同的键名
"code"
,用list2
更新list1
。
我尝试过:update_mapping = {k["code"]: k for k in list2}
list1 = [update_mapping.get(k["code"], k) for k in list1]
但是它没有起作用。
k["Case"]
看起来是一个非常明显的打字错误。 - Mad Physicistcodedict1 = {1: {'a': 7, 'b': 9, 'c': 24}, 2: {'a': 78, 'b': 12, 'c': 45}, 3: {'a': 3, 'b': 5, 'c': 16}}
和codedict2 = {1: {'a': 45, 'b': 21, 'c': 24}, 2: {'a': 84, 'b': 7, 'c': 55}}
更容易处理。 - Joffan