B和C都是对的。逗号前后分别是行和列;冒号前后是开始索引和结束索引,结束的那个位置是取不到的。
可以实际操作输出一下,加深印象。
import numpy
arr = numpy.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(arr)
print(arr[1:2, 1:2])
print(arr[1:3, 1:3])
print(arr[1:, 1:])
print(arr[:, :])
b,c
从左边数,维度为1,b[1:3,1:3] 所以为1维取1到3,结果为[4 5 6] [7 8 9],再从其中取1到3列不包括3列,[5,6] [8 9 ]
c[1:,1:] 也是1维从一列取到最后一列[4 5 6] [7 8 9] 再从其中取第1列到最后一列[5 6] [8 9]
把这个记下来,以后看到这种题,就可以明白了。