Python 将列表中的元素与列表中的每个元素进行比较
我试图将一个列表中的元素与列表中的每个元素进行比较Python 将列表中的元素与列表中的每个元素进行比较,python,python-2.7,itertools,Python,Python 2.7,Itertools,我试图将一个列表中的元素与列表中的每个元素进行比较 hsdr_machine_one=['P#1', 'P#2', ...] hsdr_machine_two=[...] hsdr_machine_three=[...] hsff_machine_four=['P#4', 'P#5', ...] hsff_machine_five=['P#6', ...] hsff_machine_six=[...] hsdr_machines_list=[hsdr_machine_one, hsdr_ma
hsdr_machine_one=['P#1', 'P#2', ...]
hsdr_machine_two=[...]
hsdr_machine_three=[...]
hsff_machine_four=['P#4', 'P#5', ...]
hsff_machine_five=['P#6', ...]
hsff_machine_six=[...]
hsdr_machines_list=[hsdr_machine_one, hsdr_machine_two, hsdr_machine_three]
hsff_machines_list=[hsff_machine_four, hsff_machine_five, hsff_machine_six]
part_number_combinations = []
for part_number in itertools.product(*hsdr_machines_list):
part_number_combinations = [part_number[0]] + [part_number[1]]
print part_number_combinations
我知道这段代码不会把我带到那里,它只是我在itertools
中胡搞的东西。早些时候,我使用了产品(hsdr\u machine\u one,hsff\u machine\u four)
,成功地比较了两台机器。但现在我想尝试一次完成这一切
产出将是:
P#1,P#4
第1页,第5页
第1页,第6页
第2页,第4页
第二,第五。。。
然后再比较
hsdr\u machine\u two
与hsff\u machine\u four
、five
和six
将嵌套列表展平,然后查看元素的笛卡尔积
hsdr_flat = sum(hsdr_machines_list, [])
hsff_flat = sum(hsff_machines_list, [])
for hsdr, hsff in itertools.product(hsdr_flat, hsff_flat):
print hsdr, hsff
您可以使用
itertools.products
创建子列表的组合,然后一次使用两个子列表中的项获取成对产品:
for hsdr, hsff in itertools.product(hsdr_machines_list, hsff_machines_list):
for pt1, pt2 in itertools.product(hsdr, hsff):
print pt1, pt2
您是否试图在列表之间找到匹配的计算机?挑剔:一个
集合
不能包含一个列表
(或任何其他可变类型)。您正在寻找将列表中的元素与列表中的每个元素进行比较。否。每台机器可以运行6-12个部件。我想弄清楚一个操作员是否能运行两台机器。零件的尺寸、循环时间、包装等各不相同。。所以我只需要在两个机器组之间生成每一个可能的配对来运行我的工作函数。谢谢Zwer,吹毛求疵很好。我是新的编码,所以任何学习的机会都是好的。谢谢你,也尝试过这个,它也很有效。