在Python中,如何生成数组的排列,其中每列和每行只有一个元素?

在Python中,如何生成数组的排列,其中每列和每行只有一个元素?,python,arrays,algorithm,permutation,Python,Arrays,Algorithm,Permutation,例如: 假设您拥有以下数组: [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] 印刷品: [1, 5, 9] [1, 8, 6] [4, 2, 9] [4, 8, 3] [7, 2, 6] [7, 5, 3] 谢谢,效果很好。有人能解释一下它是如何工作的吗?对于每一列i,它选择一行p。i都是唯一的,因为它们是0,1,2,。。。p都是唯一的,因为它们来自排列。itertools.p

例如:

假设您拥有以下数组:

[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]
印刷品:

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

谢谢,效果很好。有人能解释一下它是如何工作的吗?对于每一列i,它选择一行p。i都是唯一的,因为它们是0,1,2,。。。p都是唯一的,因为它们来自排列。itertools.permutations生成所有置换,因此它将迭代所有选择。
[1, 5, 9]
[1, 8, 6]
[4, 2, 9]
[4, 8, 3]
[7, 2, 6]
[7, 5, 3]