【发布时间】:2017-05-06 05:53:35
【问题描述】:
我有以下组合列表:
a = [(1,10),(2,8),(300,28),(413,212)]
b = [(8,28), (8,15),(10,21),(28,34),(413,12)]
我想从这两个列表中创建一个新的组合列表,它遵循以下标准:
一个。 列表 a 和列表 b 有共同的元素。
- 列表 a 中元组的第二个元素等于 列表 b 中的元组。
-
List a 和 List 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]
【问题讨论】:
-
你有没有尝试过?
-
已经尝试过 itertools 但找不到合适的标准选项。运行 for 循环不起作用。到目前为止,我正在生成输出的 csv 文件,然后将其复制并粘贴到 excel 中。 k = list(itertools.product(b,c)) import csv with open ('Combination.csv', 'a') as csv_file: csv_app = csv.writer(csv_file) csv_app.writerow(k)'''跨度>
标签: python combinations itertools