我希望能够在匹配键的情况下合并(zip?)两个Python元组列表。例如,我想创建一个函数,它接受两个输入列表并生成如下输出:
lst1 = [(0, 1.1), (1, 1.2), (2, 1.3), (5, 2.5)]
lst2 = [ (1, 4.5), (2, 3.4), (4, 2.3), (5, 3.2)]
desiredOutput = [(1, 1.2, 4.5), (2, 1.3, 3.4), (5, 2.5, 3.2)]
我可以使用循环进行混乱而手动的操作,但我认为必须有一些itertools
/ zipping函数可以大大简化此过程。
我相信答案已经存在并且很明显,只是我没有正确的术语来搜索它。
==
(就我所知,这是我的天真解决方案。我希望能找到更简洁/更符合Python风格的解决方案:
def key_zipper(lst1, lst2):
dict1 = dict(lst1)
dict2 = dict(lst2)
intersectKeys = [k for k in dict1.keys() if k in dict2.keys()]
output = []
for key in intersectKeys:
output.append((key, dict1[key], dict2[key]))
return output
感谢))