假设我有一个列表L=[1,2,3,3,4]
,我想递归地找到所有长度为 3 的排列。
我正在尝试返回所有唯一的排列,这意味着[1,2,3]
输出中没有两次包含类似3
的东西,因为L
.
我问是因为 itertools.permutations 包含重复项,而且我试图按顺序迭代排列(从最低迭代[1,2,3]
到[4,3,3]
),因为我希望能够在需要时退出迭代。
如果我没有正确解释事情,我很抱歉。
编辑:我可能应该再次详细说明。在实践中,我不想实际生成每一个可能的排列(会有太多的排列),尽管代码可以运行完成。我正在尝试以特定顺序遍历所有排列,以便在必要时可以提前保释。