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 中列表和数组的一些重要区别。

列表 数组
列表是异构的(它们可以存储不同数据类型的值)。 数组是同构的(它们只能存储相同数据类型的值)。
声明列表不需要导入任何模块。 我们需要显式导入模块才能声明数组。
列表不能处理算术运算 数组可以处理算术运算。
与数组相比,列表消耗更多的内存 与列表相比,数组的内存占用更紧凑。
数据项的修改(如插入、删除和更新)很简单。 修改数组很困难,因为添加、删除和更新操作一次只能对单个元素执行。
它可以嵌套以保存多种类型的组件。 所有嵌套组件必须具有相同的大小。
我们可以借助显式循环打印整个列表。 我们可以无需显式循环即可打印整个列表。
对于短数据序列,建议使用列表。 对于较长的数据序列,建议使用数组。

更新于: 2023年11月3日

3K+ 浏览量

开启你的 职业生涯

完成课程获得认证

开始学习
广告