Python 如何用另一个字典数组中的元素替换一个字典中的值数组

Python 如何用另一个字典数组中的元素替换一个字典中的值数组,python,dictionary,Python,Dictionary,这是我的字典: main_dict = [ {'link_value':[123,111] , 'id' : 22}, {'link_value':[234] , 'id' : 14} ] dict2 = [ {'id':123 , value:['xx','yy'],name:'mg1'}, {'id':111 , value:['zz','yy'],name:'mg2'}, {'id':234 , value:['aa','yy'],name

这是我的字典:

main_dict = [
     {'link_value':[123,111] , 'id' : 22},
     {'link_value':[234] , 'id' : 14}
]
dict2 = [
     {'id':123 , value:['xx','yy'],name:'mg1'},
     {'id':111 , value:['zz','yy'],name:'mg2'},
     {'id':234 , value:['aa','yy'],name:'mg3'}
]
我想用dict2数组中的元素替换link_值

预期结果:

[
     {'link_value':[{'id':123 , value:['xx','yy'],name:'mg1'} ,{'id':111 , value:['zz','yy'],name:'mg2'}] , 'id' : 22},
     {'link_value':[{'id':234 , value:['aa','yy'],name:'mg3'}] , 'id' : 14}
]

为link_value在dict1值之间循环,并在列表中迭代,并将其与id进行比较,如果匹配,将匹配的dict1值与dict2追加如下

for i in range(len(main_dict)):
    main_dict[i]['link_value'] = [dict for dict in dict2 if dict['id'] in main_dict[i]['link_value']]
    # main_dict[i]['link_value'] = list(filter(lambda a: a['id'] in main_dict[i]['link_value'], dict2))

您在
main_dict
中有2个字典,在
dict2
中有3个字典,混合的规则是什么?如果
dict2
是一个键为
id
值的字典,则会容易得多。StackOverflow不是免费的编码服务。你应该会的。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅,并使用:)Stack Overflow不是一种代码编写服务,但是如果您编写自己的代码时遇到问题,欢迎您在此处询问。请阅读。另外,您的数据有两个语法错误和两个名称错误。您只需要编写嵌套循环。循环浏览链接值,然后在
dict2
中搜索具有匹配ID的词典。找到后,将其附加到
link\u value
的新值中。