2 条题解
-
0
NUMPY037 题解:创建行值递增的矩阵
题目
创建一个 5×5 矩阵,每行值从 0 到 4 递增。
解题思路
利用 NumPy 的广播机制,用一维数组与二维数组相加。
代码
import numpy as np Z = np.zeros((5, 5)) Z += np.arange(5) print(Z)代码详解
np.zeros((5, 5))—— 创建 5×5 全零矩阵np.arange(5)—— 创建[0, 1, 2, 3, 4]Z += ...—— 原地加法,利用广播
广播过程
原本 Z: [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 加上 [0,1,2,3,4]: [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]其他方法
# 方法2:np.tile Z = np.tile(np.arange(0, 5), (5, 1)) # 方法3:直接创建 Z = np.array([[0,1,2,3,4] for _ in range(5)])核心知识点
- 广播机制 —— 自动扩展数组形状
+=操作符 —— 原地更新np.tile()—— 平铺数组
- 1
信息
- ID
- 88
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者