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
動詞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
左引数は、順列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
。
これより簡単なもの:(i。@!@#A。]) '123' – Roman