学完C++之后我们可能都习惯用a[x][y]来索引二维数组,但这一点在Python的二维数组中是有问题的,如果x和y都是非负整数那是没有问题的,但是也有特例:
import numpy as np
a = np.zeros(1,2)
print(a)
print(a[:])
运行以上代码,我们可以得到以下结果:
我们可以很清楚地发现a和a[:]是完全相等的。
那么问题来了,当使用a[:][0]进行索引时,我们以为是取矩阵的第一列元素,但实际上a[:][0]是和a[0]完全相同的,也就是只取到了矩阵的第一行元素,而正确的取矩阵的列的写法应该是:a [ : , 0 ]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)