Python 列表和数组有什么区别?
在 Python 中,数组和列表都用于存储数据作为数据结构。在本文中,我们将讨论列表和数组之间的区别。
列表
列表 是 Python 提供的四种最常用的 数据结构 之一。列表是 Python 中一种可变的数据结构,它具有元素的有序序列。列表也支持负索引。
以下是一个整数列表:
lis= [1,2,3,4,5] print(lis)
输出
如果您执行上述代码段,将产生以下输出:
[1, 2, 3, 4, 5]
数组
一个 数组 是一种数据结构,以线性格式保存数据。数组包含固定数量的元素,并且这些元素必须是同构的(具有相同的数据类型)。它也使用方括号表示,有序、可变和有序。
通过导入 array 模块声明数组。
在 Python 中,我们必须导入 array 模块或导入 NumPy 来声明数组。
示例
import array as arr sample_array = arr.array("i", [1, 2, 3, 4]) print(sample_array) print(type(sample_array))
输出
以上代码产生以下结果
array('i', [1, 2, 3, 4]) <type 'array.array'>
通过导入 Numpy 声明数组
在这个例子中,我们将通过导入 numpy 模块来声明一个数组。
import numpy as np sample_array = np.array([1, 2, 3, 4]) print(sample_array) print(type(sample_array))
输出
以上代码产生以下结果
[1 2 3 4] <class 'numpy.ndarray'>
Python 中列表和数组的区别
以下是 Python 中列表和数组的一些重要区别。
列表 | 数组 |
---|---|
列表是异构的(它们可以存储不同数据类型的值)。 | 数组是同构的(它们只能存储相同数据类型的值)。 |
声明列表不需要导入任何模块。 | 我们需要显式导入模块才能声明数组。 |
列表不能处理算术运算 | 数组可以处理算术运算。 |
与数组相比,列表消耗更多的内存 | 与列表相比,数组的内存占用更紧凑。 |
数据项的修改(如插入、删除和更新)很简单。 | 修改数组很困难,因为添加、删除和更新操作一次只能对单个元素执行。 |
它可以嵌套以保存多种类型的组件。 | 所有嵌套组件必须具有相同的大小。 |
我们可以借助显式循环打印整个列表。 | 我们可以无需显式循环即可打印整个列表。 |
对于短数据序列,建议使用列表。 | 对于较长的数据序列,建议使用数组。 |
广告