最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
一维数组的创建与赋值:实战中的常用技巧
时间:2026-06-20 09:57:04 编辑:袖梨 来源:一聚教程网
Python一维数组创建有三类方式:列表适合通用场景,NumPy适用于数值计算,array模块节省内存;赋值时列表索引安全、NumPy支持视图切片、array严格索引检查。
Python里一维数组的创建和赋值看似简单,但实际用法灵活、场景多样。关键不在于“能不能做”,而在于“哪种方式更贴合当前需求”——比如是快速初始化、动态填充、类型严格控制,还是后续要参与数值计算。
用列表(list)快速上手
最轻量、最常用的方式,适合通用逻辑、小规模数据或原型开发:
- 直接写死:
arr = [1, 5, -2, 0, 9]—— 初始化即赋值,可读性强 - 批量填零:
arr = [0] * 10—— 创建长度为10的全零列表(注意:只适用于不可变元素) - 推导式生成:
arr = [i**2 for i in range(6)]→[0, 1, 4, 9, 16, 25] - 循环追加:
arr = [],再用for i in range(n): arr.append(value)—— 适合逻辑复杂、需条件判断的逐个赋值
用 NumPy 构建高效数值数组
当涉及数学运算、大数据量或与其他科学计算库协作时,NumPy 是首选。它支持向量化操作,且内存连续、类型明确:
- 从列表转换:
import numpy as np; arr = np.array([1, 2, 3]) - 预设值初始化:
np.zeros(5)、np.ones(4, dtype=int)、np.full(3, 7.5) - 等差序列:
np.arange(2, 12, 2)→[2 4 6 8 10];np.linspace(0, 1, 5)→[0. 0.25 0.5 0.75 1.] - 函数生成:
np.fromfunction(lambda i: i*2 + 1, (5,), dtype=int)→[1 3 5 7 9]
用 array 模块节省内存
若处理大量同类型数值(如传感器采样点),且对内存敏感,标准库 array 比 list 更紧凑,比 NumPy 更轻量:
- 整数数组:
from array import array; arr = array('i', [1, 2, 3, 4])('i' 表示有符号 int) - 浮点数组:
arr = array('d', [1.1, 2.2, 3.3])('d' 表示 double) - 注意:不支持广播运算,也不能像 NumPy 那样直接
+ 1,需用循环或 map
赋值与修改的关键细节
不同结构对“赋值”的语义略有差异,容易踩坑:
- 列表索引赋值安全:
arr[2] = 99直接生效,不会报错(只要下标在范围内) - NumPy 数组支持切片赋值:
arr[1:4] = [-1, -2, -3]或arr[::2] = 0(所有偶数位设为 0) - NumPy 切片是视图(view),修改会影响原数组;列表切片是副本,修改不影响原列表
- 尝试给
array赋超出范围的索引会报IndexError,行为更接近传统数组
相关文章
- Canva AI企业版账号权限配置:角色区分与功能限制说明 06-20
- 2026年Notion AI设计场景用法:草稿生成与风格约束说明 06-20
- 京东在哪里可以解绑银行卡 06-20
- 2026年Notion AI响应缓慢:网络、缓存与账户配置排查 06-20
- 2026年Notion AI团队协作:权限、工作流与配置要点 06-20
- Notion AI企业版新手入门:账号权限与工作空间配置说明 06-20