8
:Pythonでは、各列と行の要素が1つしかない配列の順列をどのように生成しますか?たとえば
[1,2,3]
[4,5,6]
[7,8,9]
、あなたはこの配列を生成したい:
では、次の配列を持っていると言う
[1,5,9]
[1,6,8]
[4,2,9]
[4,8,3]
[7,2,6]
[7,5,3]
:Pythonでは、各列と行の要素が1つしかない配列の順列をどのように生成しますか?たとえば
[1,2,3]
[4,5,6]
[7,8,9]
、あなたはこの配列を生成したい:
では、次の配列を持っていると言う
[1,5,9]
[1,6,8]
[4,2,9]
[4,8,3]
[7,2,6]
[7,5,3]
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]
感謝、そのw完全にオーケー。誰かが正確にどのように動作するか説明できますか? – cmgerber
各列iに対して、行pを選択します。私は0,1,2であるので、私はすべてユニークです... pは、順列から来ているので、すべてユニークです。 itertools.permutationsはすべての順列を生成するので、すべての選択肢を繰り返し処理します。 –