python 中的 NxN 矩阵,在行和列中都具有非重复整数(在 [0:N-1] 范围内)
NxN matrix in python with non-duplicate integers (in range [0:N-1]) in both rows AND columns
在 python 中,如何创建 N x N 的矩阵或二维数组,以便:
[A] 每行都有从 0 到 N-1 的非重复整数
[B] 每列都有来自 0:N-1
的非重复整数
示例:
[[1 0 2]
[2 1 0]
[0 2 1]]
所以我对这个问题做了一些修改,这段代码似乎有效
import numpy as np
N = 10
row = np.arange(N)
result = np.zeros((N, N))
for i in row:
result[i] = np.roll(row, i)
print(result)
输出:
[[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
[9. 0. 1. 2. 3. 4. 5. 6. 7. 8.]
[8. 9. 0. 1. 2. 3. 4. 5. 6. 7.]
[7. 8. 9. 0. 1. 2. 3. 4. 5. 6.]
[6. 7. 8. 9. 0. 1. 2. 3. 4. 5.]
[5. 6. 7. 8. 9. 0. 1. 2. 3. 4.]
[4. 5. 6. 7. 8. 9. 0. 1. 2. 3.]
[3. 4. 5. 6. 7. 8. 9. 0. 1. 2.]
[2. 3. 4. 5. 6. 7. 8. 9. 0. 1.]
[1. 2. 3. 4. 5. 6. 7. 8. 9. 0.]]
如有任何问题,尽管提问。
在 python 中,如何创建 N x N 的矩阵或二维数组,以便: [A] 每行都有从 0 到 N-1 的非重复整数 [B] 每列都有来自 0:N-1
的非重复整数示例:
[[1 0 2]
[2 1 0]
[0 2 1]]
所以我对这个问题做了一些修改,这段代码似乎有效
import numpy as np
N = 10
row = np.arange(N)
result = np.zeros((N, N))
for i in row:
result[i] = np.roll(row, i)
print(result)
输出:
[[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
[9. 0. 1. 2. 3. 4. 5. 6. 7. 8.]
[8. 9. 0. 1. 2. 3. 4. 5. 6. 7.]
[7. 8. 9. 0. 1. 2. 3. 4. 5. 6.]
[6. 7. 8. 9. 0. 1. 2. 3. 4. 5.]
[5. 6. 7. 8. 9. 0. 1. 2. 3. 4.]
[4. 5. 6. 7. 8. 9. 0. 1. 2. 3.]
[3. 4. 5. 6. 7. 8. 9. 0. 1. 2.]
[2. 3. 4. 5. 6. 7. 8. 9. 0. 1.]
[1. 2. 3. 4. 5. 6. 7. 8. 9. 0.]]
如有任何问题,尽管提问。