Python 列表中列表的所有唯一组合

Python 列表中列表的所有唯一组合,python,permutation,product,Python,Permutation,Product,下面的列表给出了[[1,2,3],[4,2,5,6],[7,2,5],[8,9,10]。如何获得包含所有子列表组合的所有列表组合?列表中列表的顺序并不重要。 例如,这里我们有两个:[[1,3,2],[4,2,5,6],[7,2,5],[8,9,10],[[2,1,3],[4,2,5,6],[7,2,5],[8,9,10]等等 我偶然发现了非常相似的问题和合适的答案: 但他们都没有解决这个问题 如何获得包含所有子列表组合的所有列表组合?列表中列表的顺序并不重要。例如,[[1,3,2],[4,2

下面的列表给出了
[[1,2,3],[4,2,5,6],[7,2,5],[8,9,10]
。如何获得包含所有子列表组合的所有列表组合?列表中列表的顺序并不重要。 例如,这里我们有两个:
[[1,3,2],[4,2,5,6],[7,2,5],[8,9,10]
[[2,1,3],[4,2,5,6],[7,2,5],[8,9,10]
等等

我偶然发现了非常相似的问题和合适的答案:

但他们都没有解决这个问题

如何获得包含所有子列表组合的所有列表组合?列表中列表的顺序并不重要。例如,
[[1,3,2],[4,2,5,6],[7,2,5],[8,9,10],[2,1,3],[4,2,5,6],[7,2,5],[8,9,10]

您需要排列所有内部列表,然后生成这些列表。首先将每个内部列表的排列存储在2D列表中(在代码中命名为
all_perms
),然后这些排列的乘积将是所需的答案,为了唯一性,我们需要将它们存储在
集合中。Python给出了所有置换,并给出了其中所有的笛卡尔积。代码如下:

from itertools import permutations as perm, product

# lists = [[1, 2, 3], [4, 2, 5, 6], [7, 2, 5], [8, 9, 10]]
lists = [[1,2],[3,4]] # let's check for a small input first
all_perms = [[] for _ in range(len(lists))]

for i, lst in enumerate(lists):
    all_perms[i].extend(list(perm(lst)))

answer = set()
prods = product(*all_perms)
for tup in prods:
    answer.add(tup)
print(answer)
# Output: {((1, 2), (4, 3)), ((2, 1), (3, 4)), ((2, 1), (4, 3)), ((1, 2), (3, 4))}

请随意询问进一步的问题。

我不明白你想要实现什么,你能举例说明你的输入和期望的输出吗?@TaxpayersMoney他说的是排列内部列表,然后进行交叉乘积。如示例所示。