【发布时间】:2018-02-01 23:23:20
【问题描述】:
我觉得这个问题之前一定有人问过,但在 Stack Overflow 上找不到。
有没有办法根据列表索引优雅地组合多个字典列表?见下文:
list_1 = [{'hello': 'world'}, {'foo': 'test'}]
list_2 = [{'a': 'b'}, {'c': 'd'}]
result = [{'hello': 'world', 'a': 'b'},
{'foo': 'test', 'c': 'd'}]
我知道我可以在技术上使用 for 循环,例如:
list_3 = []
for i in range(len(list_1)):
list_3.append({**list_1[i],**list_2[i]})
有没有办法通过列表理解来做到这一点? 另外,如果我涉及的列表超过 2 个或不知道字典列表的数量怎么办?
【问题讨论】:
-
“我知道我可以在技术上使用 for 循环,例如 for i in range(0,len(list_1) 但是有没有办法通过列表理解来做到这一点?” 的动机是什么这个问题?无法保证列表组合会更快,并且您在
for循环方法中没有表现出任何努力。 -
很公平,我上面有我的例子
标签: python list dictionary