您好,我正在尝试创建具有棋盘模式的矩阵,其中第一个 [0,0] 索引值为 1。目前我能够创建此矩阵:
Z = np.zeros((8,8),dtype=int)
Z[1::2,::2] = 1
Z[::2, 1::2] = 1
print(Z)
[[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]]
但我希望它是这样的:
[[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]]
最佳答案
正如您所建议的,一种方法是分配一个并在矩阵中设置零:
Z = np.ones((8, 8), dtype=np.int)
Z[1::2, ::2] = Z[::2, 1::2] = 0
另一种方法,正如@divakar 所建议的那样,是修复你的索引:
Z = np.zeros((8, 8), dtype=np.int)
Z[1::2, 1::2] = Z[::2, ::2] = 1
关于python - numpy 矩阵棋盘图案变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43630941/