# 切片迭代
Numpy的切片操作默认会修改数组而非Python原生的复制。
一维数组和Python原生列表一样进行索引切片和迭代。
多维数组迭代需要指定每一个轴,轴之间以逗号分隔,省略或书写
...时其他轴被认为是全选。b=np.array([[ 0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23], [30, 31, 32, 33], [40, 41, 42, 43]]) b[2,3] # 第3行第4列的元素,注意索引从0开始计数 b[0:5, 1] # 第二列中的每一行,注意区间的左闭合右开的特性 b[1:3, : ] # 每一列的,第二行和第三行的元素 b[-1] #当给与的参数少于轴数时,其它的轴被认为是全选,比如这里获得最后一行,等同于b[-1,:] c = np.array( [[[ 0, 1, 2], [ 10, 12, 13]], [[100,101,102], [110,112,113]]]) c[1,...] # 等同于c[1,:,:] or c[1] c[...,2] # 等同于c[:,:,2]对多维数组的迭代实际上是对其的第一轴进行迭代。
可以使用数组的flat属性对数组所有元素进行迭代。
b=np.array([[ 0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23], [30, 31, 32, 33], [40, 41, 42, 43]]) for element in b.flat: print(element) 0 1 2 3 ...