我知道对于3d numpy数组,我可以索引如下:

item = x[0,2,1]


item = x[0][2][1]

但是切片对我来说很奇怪:
item = x[:,:,1]

不同于:
item = x[:][:][1]

我错过了什么?

最佳答案

我喜欢@ffisegydd的答案,但我想指出这并不是numpy数组所独有的。在python中,语句result = A[i, j]相当于result = A[(i, j)],而语句result = A[i][j]相当于:

tmp = A[i]
result = tmp[j]

所以如果我用字典:
A = {0 : "value for key 0",
     (0, 1) : "value for key (0, 1)"}
print(A[0][1])
# a
print(A[0, 1])
# value for key (0, 1)

关于python - 切片3D Numpy数组-误解,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27824013/

10-12 16:55