所有排列的列表
List of all permutations
动词 C. A. 与排列有关。
他们有非常复杂的文档。
我只想得到所有可能的排列 (n!)
例如对于元素 1 2 3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
A.
的左参数是一个 list 排列索引。
A.
的右参数是要置换的列表。
初始(未置换)列表的索引为 0,它从那里开始按字典顺序 [*]。
例如:
(0) A. 'a';'b';'c'
┌─┬─┬─┐
│a│b│c│
└─┴─┴─┘
(1 0) A. 1 2 3
1 3 2
1 2 3
(0 1 2) A. 5 1 2
5 1 2
5 2 1
1 5 2
要获得列表的 all 排列,您请求它们的所有 (! #y)
(要排列的列表 y
的元素数量的阶乘) , 通过请求所有索引 0 ... (n-1)
: i. (! # y)
:
(i.!#y) A. y
[*]: 按隐含列表 i. # y
的字典顺序。也就是说,A.
总是排列简单列表 0 ... n
,然后将此排列应用于您的初始列表:permutation { initial_list
.
动词 C. A. 与排列有关。
他们有非常复杂的文档。
我只想得到所有可能的排列 (n!)
例如对于元素 1 2 3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
A.
的左参数是一个 list 排列索引。
A.
的右参数是要置换的列表。
初始(未置换)列表的索引为 0,它从那里开始按字典顺序 [*]。
例如:
(0) A. 'a';'b';'c'
┌─┬─┬─┐
│a│b│c│
└─┴─┴─┘
(1 0) A. 1 2 3
1 3 2
1 2 3
(0 1 2) A. 5 1 2
5 1 2
5 2 1
1 5 2
要获得列表的 all 排列,您请求它们的所有 (! #y)
(要排列的列表 y
的元素数量的阶乘) , 通过请求所有索引 0 ... (n-1)
: i. (! # y)
:
(i.!#y) A. y
[*]: 按隐含列表 i. # y
的字典顺序。也就是说,A.
总是排列简单列表 0 ... n
,然后将此排列应用于您的初始列表:permutation { initial_list
.