如何在Python中生成扁平化列表的所有排列

问题描述 投票:1回答:1

如何在Python中生成平展的列表列表的所有排列,...以便保持列表中的顺序?

示例;

输入;

    [[1,2], [3]]

输出;

    [1,2,3]
    [1,3,2]
    [3,1,2]

1在排列中总是在2之前。

python permutation
1个回答
1
投票

这里是可能的解决方案:

import itertools

lst = [[1,2], [3]]
permutations = list(itertools.permutations(set(itertools.chain(*lst))))

排列可能很多,因此您应该使用生成器而不是列表。

© www.soinside.com 2019 - 2024. All rights reserved.