如何生成列表的所有可能排列,b(1,6,8,3,9,5)包括不同长度的排列?例:
List a = [1,2,3]
generateperms(a)
1,2,3
3,1,2
3,2,1
1,3,2
2,1,3
2,3,1
2,3
1,2
1,3
2,1
3,2
3,1
Run Code Online (Sandbox Code Playgroud)
等等,并得到每个长度的所有permutarions?
编辑:我只是要使用它,用python编写,运行良好:
import itertools
a = ['a','b','c']
for i in range(len(a)):
print list(itertools.permutations(a,i+1))
Run Code Online (Sandbox Code Playgroud) 假设我们有以下列表:
sequence = ['2', '4', '1', '2', '3', '4', '2', '4', '2', '4', '4']
#indices 0 1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
接下来,我们有以下列表:
key_list = ['2', '2', '4']
Run Code Online (Sandbox Code Playgroud)
现在,我想提取所有可能的子列表sequence,保留其顺序keylist,即其索引.
让我举例说明.因此,对于sequence保留顺序的所有可能的索引子列表key_list是:
[0, 3, 5]
[0, 3, 7]
[0, 3, 9]
[0, 3, 10]
[0, 6, 7]
[0, 6, 9]
[0, 6, 10]
[0, 8, 9]
[0, 8, 10]
[3, 6, 7]
[3, 6, 9]
[3, 6, 10]
[3, 8, …Run Code Online (Sandbox Code Playgroud)