Python 是否可以一次性分配给numpy数组的两个不同范围(arr[a:b,c:d])?

Python 是否可以一次性分配给numpy数组的两个不同范围(arr[a:b,c:d])?,python,numpy,deep-learning,numpy-ndarray,Python,Numpy,Deep Learning,Numpy Ndarray,我的这句话来自: 试图通过使用简单数据进行测试来理解这一点: x = np.array([1,2,3,4,5,6,7,8,9]) print(x[1:4, 6:8]) 我得到一个错误: 索引器错误:数组的索引太多 但杰夫的代码是有效的。这是怎么回事?示例中给出的数组有两个维度。它不是在一次遍历中分配给两个多个范围,而是分配给二维数组的子集 P>复制它,考虑以下片段: >>> x = np.array([[1,2,3], [4, 5,6]]) >>> x.nd

我的这句话来自:

试图通过使用简单数据进行测试来理解这一点:

x = np.array([1,2,3,4,5,6,7,8,9])
print(x[1:4, 6:8])
我得到一个错误: 索引器错误:数组的索引太多


但杰夫的代码是有效的。这是怎么回事?

示例中给出的数组有两个维度。它不是在一次遍历中分配给两个多个范围,而是分配给二维数组的子集

P>复制它,考虑以下片段:

>>> x = np.array([[1,2,3], [4, 5,6]])
>>> x.ndim
>>> 2 # 2 dimensional array
>>> x[0:1, 0:1] = 2 # This means 1st element of 1st dim and 1st element of 2nd dim.
>>> x
>>> array([[2, 2, 3],
    [4, 5, 6]])

有关
numpy
中n维数组的切片,请参阅此。希望这有帮助

每个维度一个
a:b
。你的
x
是1d,所以只有一个切片。@hpaulj这很有意义,你应该把它作为一个答案!
>>> x = np.array([[1,2,3], [4, 5,6]])
>>> x.ndim
>>> 2 # 2 dimensional array
>>> x[0:1, 0:1] = 2 # This means 1st element of 1st dim and 1st element of 2nd dim.
>>> x
>>> array([[2, 2, 3],
    [4, 5, 6]])