2016-10-20 8 views
2

動詞C. A.は順列に関連しています。
非常に複雑な文書があります。
私はすべての可能な順列(nは!)を取得したい
例えば要素についてA.の1つの2 3すべての順列のリスト

1 2 3 
1 3 2 
2 1 3 
2 3 1 
3 1 2 
3 2 1 
+0

これより簡単なもの:(i。@!@#A。]) '123' – Roman

答えて

1

左引数は、順列indecesのリストです。

右の引数A.が置換されるリストです。

最初の(unpermuted)リストはインデックス0を持ち、それは辞典的に[*]から続きます。

EGS:i. (! # y)

(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 

リストのすべて順列を取得するには、あなたはすべてのindeces 0 ... (n-1)を要求することにより、それらのすべて(! #y)(並べ替えするリストyの要素数の階乗)を要求します:

(i.!#y) A. y 

[*]:暗黙のリストによって辞書順。つまり、A.は、シンプルリスト0 ... nを常に置換してから、この置換を初期リストに適用します:permutation { initial_list

関連する問題