import numpy as np # 基本索引及切片 ar = np.arange(20) print(ar) print(ar[4]) print(ar[3:6]) print('-----') # 一维数组索引及切片 ar = np.arange(16).reshape(4,4) print(ar, '数组轴数为%i' %ar.ndim) # 4*4的数组 print(ar[2], '数组轴数为%i' %ar[2].ndim) # 切片为下一维度的一个元素,所以是一维数组 print(ar[2][1]) # 二次索引,得到一维数组中的一个值 print(ar[1:3], '数组轴数为%i' %ar[1:3].ndim) # 切片为两个一维数组组成的二维数组 print(ar[2,2]) # 切片数组中的第三行第三列 → 10 print(ar[:2,1:]) # 切片数组中的1,2行、2,3,4列 → 二维数组 print(ar[(1,2),(2,3)]) print(ar[[1,2],[2,3]])#和上面等价 print('-----') # 二维数组索引及切片 ar = np.arange(8).reshape(2,2,2) print(ar, '数组轴数为%i' %ar.ndim) # 2*2*2的数组 print(ar[0], '数组轴数为%i' %ar[0].ndim) # 三维数组的下一个维度的第一个元素 → 一个二维数组 print(ar[0][0], '数组轴数为%i' %ar[0][0].ndim) # 三维数组的下一个维度的第一个元素下的第一个元素 → 一个一维数组 print(ar[0][0][1], '数组轴数为%i' %ar[0][0][1].ndim) # **三维数组索引及切片