答案 0 :(得分:0)
我不知道这是否是最好的方法。我使用了np.zeros
和一个嵌套的while循环来完成它。
import numpy as np
arr = np.zeros((7,7),dtype=int)
count=1
i = 0
while i <= 6:
j=0
while j <=6:
arr[i][j]=count
count+=1
j+=2
i+=2
array([[ 1, 0, 2, 0, 3, 0, 4],
[ 0, 0, 0, 0, 0, 0, 0],
[ 5, 0, 6, 0, 7, 0, 8],
[ 0, 0, 0, 0, 0, 0, 0],
[ 9, 0, 10, 0, 11, 0, 12],
[ 0, 0, 0, 0, 0, 0, 0],
[13, 0, 14, 0, 15, 0, 16]])
答案 1 :(得分:0)
利用numpy索引的解决方案
>>> import numpy as np
>>> a = np.zeros((7,7))
>>> b = np.arange(1,17)
>>> a[::2,::2]=b.reshape(4,4)
>>> a
array([[ 1., 0., 2., 0., 3., 0., 4.],
[ 0., 0., 0., 0., 0., 0., 0.],
[ 5., 0., 6., 0., 7., 0., 8.],
[ 0., 0., 0., 0., 0., 0., 0.],
[ 9., 0., 10., 0., 11., 0., 12.],
[ 0., 0., 0., 0., 0., 0., 0.],
[13., 0., 14., 0., 15., 0., 16.]])