簡體   English   中英

在Python中,如何生成數組的排列,其中每個列和行只有一個元素?

[英]In Python, how do you generate permutations of an array where you only have one element from each column and row?

例如:

假設您有以下數組:

[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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM