经常搞混,以备后用。
在 Python 原生代码里,数组一般是指由 array
模块创建的数组,下面以表格形式呈现列表、元组和 array
模块数组的区别:
在 Python 原生代码里,数组一般是指由 array
模块创建的数组,下面以表格形式呈现列表、元组和 array
模块数组的区别:
对比维度 | 列表(list) | 元组(tuple) | 数组( |
定义语法 | 使用方括号 | 使用圆括号 | 需要导入 |
可变性 | 可变对象,可以对元素进行修改、删除、添加操作。 | 不可变对象,创建后元素不能修改、删除、添加,修改会引发 | 可变对象,可修改、删除、添加元素。 |
元素类型 | 可以存储任意类型元素,允许不同类型元素混合。 | 可以存储任意类型元素,允许不同类型元素混合。 | 所有元素必须是相同类型,创建时通过类型码指定,不允许不同类型混合。 |
内存占用与性能 | 由于要存储元素类型信息且内存动态分配,对于大量同类型数据,内存占用大,操作性能相对低。 | 不可变特性使其创建和访问速度快,内存占用相对少。 | 存储同类型数据时,内存使用效率高,操作性能比列表好,但比 |
使用场景 | 适用于元素数量和值需动态变化、存储不同类型数据的场景,如数据收集。 | 适合存储固定数据集合,如函数多值返回、作为字典键。 | 用于处理大量同类型数据,且对性能有一定要求,但无需复杂数学运算的场景。 |