目录1.一维数组1.1 基本索引1.2 切片操作2.二维数组2.1 基本索引2.2 切片操作1.一维数组1.1 基本索引import numpy as np arr np.array([1, 2, 3, 4, 5]) print(arr[0]) # 1 print(arr[-1]) # 5 print(arr[2]) # 31.2 切片操作语法start:stop:step 含左不含右# 一维数组 arr np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) print(arr[2:7]) # [2 3 4 5 6] print(arr[:5]) # [0 1 2 3 4] print(arr[5:]) # [5 6 7 8 9] print(arr[::2]) # [0 2 4 6 8] 步长为2 print(arr[::-1]) # [9 8 7 6 5 4 3 2 1 0] 反转2.二维数组2.1 基本索引arr2d np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 获取单个元素 print(arr2d[0, 1]) # 2 (第0行,第1列) print(arr2d[1][2]) # 6 (等价写法) # 获取整行 print(arr2d[1]) # [4 5 6] print(arr2d[-1]) # [7 8 9] # 获取整列 print(arr2d[:, 1]) # [2 5 8]2.2 切片操作arr2d np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) # 行切片 print(arr2d[0:2, :]) # 前两行所有列 # [[1 2 3 4] # [5 6 7 8]] # 列切片 print(arr2d[:, 1:3]) # 所有行第1-2列 # [[ 2 3] # [ 6 7] # [10 11]] # 行列同时切片 print(arr2d[1:, 2:]) # 第1行之后第2列之后 # [[ 7 8] # [11 12]] # 步长 print(arr2d[::2, ::2]) # 隔行隔列取 # [[1 3] # [9 11]]