您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过单个键将两个字典列表连接在一起

通过单个键将两个字典列表连接在一起

from collections import defaultdict

l1 = [{"index":1, "b":2}, {"index":2, "b":3}, {"index":3, "green":"eggs"}]
l2 = [{"index":1, "c":4}, {"index":2, "c":5}]

d = defaultdict(dict)
for l in (l1, l2):
    for elem in l:
        d[elem['index']].update(elem)
l3 = d.values()

# l3 is Now:

[{'b': 2, 'c': 4, 'index': 1},
 {'b': 3, 'c': 5, 'index': 2},
 {'green': 'eggs', 'index': 3}]

:由于l3不能保证被排序(不按.values()特定顺序返回项目),您可以按照@ user560833的建议进行操作:

from operator import itemgetter

...

l3 = sorted(d.values(), key=itemgetter("index"))
其他 2022/1/1 18:38:56 有555人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶