根据Python中的索引合并两个包含字典的列表

2023-12-21

我有两个包含多个字典的列表,每个字典都有一个列表作为值,这些是我的列表:

list1 = [{'a':[12,22,61],'b':[21,12,50]},{'c':[10,11,47],'d':[13,20,45],'e':[11,24,42]},{'a':[12,22,61],'b':[21,12,50]}]
list2 = [{'f':[21,23,51],'g':[11,12,44]},{'h':[22,26,68],'i':[12,9,65],'j':[10,12,50]},{'f':[21,23,51],'g':[11,12,44]}]

就我而言,我需要将这些列表与此规则合并:

  1. 第一个列表 (list1) 中的字典只能通过以下方式合并 具有相同列表索引的第二个列表 (list2) 中的字典
  2. 合并这两个列表后,每个字典必须根据其值的第三个数字进行排序

这是基于上述两条规则的预期结果:

result = [
    {'a':[12,22,61],'f':[21,23,51],'b':[21,12,50],'g':[11,12,44]},
    {'h':[22,26,68],'i':[12,9,65],'j':[10,12,50],'c':[10,11,47],'d':[13,20,45],'e':[11,24,42]},
    {'a':[12,22,61],'f':[21,23,51],'b':[21,12,50],'g':[11,12,44]}
    ]

我怎样才能做到这一点?是否可以通过内联循环在Python中完成?


Try:

[dict(a, **b) for a,b in zip(list1, list2)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据Python中的索引合并两个包含字典的列表 的相关文章

随机推荐