from collections import defaultdictl1 = [{"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"))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)