如何找到列表的下一个排列

2024-10-02 16:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

如果给我一个从1到N的数字列表,我如何找到给定列表的下一个排列

例如:

lst = [2, 1, 4, 3]

下一个排列是

[2, 3, 1, 4]

我所做的就是使用intertools

import itertools
lst2 = list(itertools.permutations([1, 2, 3, 4]))

然后找到给定列表的索引并返回+1该索引

但是,是否有其他方法可以在不使用Intertool的情况下实现这一点?我在想这些列表是如何按升序排列的


Tags: 方法import列表情况数字listitertoolslst