“有没有办法在Python中创建一个元组列表的排列或乘积?”

时间:2019-11-09 07:29:55

标签: python-3.x product permutation

lis=[
    (1, 7), (1, 2), (1, 4), (7, 1), (7, 2), (7, 4), (2, 1), (2, 7), (2, 4), (4, 
    1), (4, 7), (4, 2)
]

假设我有上面的元组列表。我想创建所有可能的元组列表,例如[(1,7,1,2),(1,2,1,4) ...]。结果列表中的每个元组必须是列表中2个元组的排列,并且结果列表中必须包含所有此类元组。

list(permutations(lis,4))给出结果:[((1, 7), (1, 2), (1, 4), (7, 1)), ((1, 7), (1, 2), (1, 4), (7, 2))...]。它形成一个4元组的元组。但是我希望将内部元组拆开并由2个元组的4个元素组成,而不是元组的元组。

1 个答案:

答案 0 :(得分:0)

这是完成任务的一种方式:

[a + b for a, b in permutations(lis, 2)]