我有以下组合列表:
a = [(1,10),(2,8),(300,28),(413,212)]
b = [(8,28),(8,15),(10,21),(28,34),(413,12)]
我想从这两个列表中创建一个新组合列表,该列表遵循以下标准:
A 即可。 列出a和列表b有共同的元素。
列表a和列表b的组合应该形成一个新的组合:
d = [(1,10,21),(2,8,28),(2,8,15),(300,28,34)]
问题
我可以使用itertools进行基于标准的组合吗?
使用/不使用模块解决此问题最优雅的方法是什么?
如何在Excel工作表中显示输出,以将列表d中元组的每个元素显示到单独的列,例如:
d = [(1,10,21),(2,8,28),(2,8,15),(300,28,34)] 以excel显示:
Col A = [1,2,2,300]
Col B = [10,8,8,28]
Col C = [21,28,15,34]
答案 0 :(得分:0)
pandas
就像excel
的魅力一样。
以下是代码:
a = [(1,10),(2,8),(300,28),(413,212)]
b = [(8,28), (8,15),(10,21),(28,34),(413,12)]
c = [(x, y, t) for x, y in a for z, t in b if y == z]
import pandas as pd
df = pd.DataFrame(c)
df.to_excel('MyFile.xlsx', header=False, index=False)