2013-10-28 5 views

答えて

18
import itertools 

A=[[1,2,3], 
[4,5,6], 
[7,8,9]] 

for P in itertools.permutations(range(len(A))): 
    print [A[p][i] for i,p in enumerate(P)] 

プリント:

[1, 5, 9] 
[1, 8, 6] 
[4, 2, 9] 
[4, 8, 3] 
[7, 2, 6] 
[7, 5, 3] 
+0

感謝、そのw完全にオーケー。誰かが正確にどのように動作するか説明できますか? – cmgerber

+3

各列iに対して、行pを選択します。私は0,1,2であるので、私はすべてユニークです... pは、順列から来ているので、すべてユニークです。 itertools.permutationsはすべての順列を生成するので、すべての選択肢を繰り返し処理します。 –

関連する問題