动词C.A.与排列有关。
他们有非常复杂的文档。
我想得到所有可能的排列(n!)
例如,对于元素1 2 3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
答案 0 :(得分:1)
A.
的左参数是排列项的列表。
A.
的正确参数是要置换的列表。
初始(未消化的)列表的索引为0,它按字典顺序从[*]开始。
EGS:
(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
要获取列表的所有排列,您可以通过请求所有权限来请求所有(! #y)
(要置换的列表y
的元素数量的因子) 0 ... (n-1)
:i. (! # y)
:
(i.!#y) A. y
[*]:按隐式列表i. # y
按字典顺序排列。也就是说,A.
始终置换简单列表0 ... n
,然后将此排列应用于您的初始列表:permutation { initial_list
。