Python中列表和数组的区别
列表: Python 中的列表是项目的集合,可以包含多种数据类型的元素,可以是数字、字符逻辑值等。它是支持负索引的有序集合。可以使用包含数据值的 [] 创建列表。
使用 python 的内置函数可以轻松合并和复制列表的内容。
# creating a list containing elements
# belonging to different data types
sample_list = [1,"geek-docs.com",['a','e']]
print(sample_list)
运行结果如下:
[1, 'geek-docs.com', ['a', 'e']]
第一个元素是整数,第二个元素是字符串,第三个元素是字符列表。
数组: 数组是包含同质元素的向量,即属于相同的数据类型。元素分配有连续的内存位置,允许轻松修改,即添加、删除、访问元素。在 Python 中,必须使用数组模块来声明数组。如果数组的元素属于不同的数据类型,则会抛出异常“数据类型不兼容”。
# creating an array containing same
# data type elements
import array
sample_array = array.array('i', [1, 2, 3])
# accessing elements of array
for i in sample_array:
print(i)
运行结果如下:
1
2
3
以下是 Python 中 List 和 Array 之间的区别:
列表 | 数组 |
---|---|
可以包含属于不同数据类型的元素 | 只包含属于相同数据类型的元素 |
无需显式导入模块进行声明 | 需要显式导入模块进行声明 |
不能直接处理算术运算 | 可以直接处理算术运算 |
可以嵌套以包含不同类型的元素 | 必须包含相同大小的所有嵌套元素 |
首选用于较短的数据项序列 | 首选用于较长的数据项序列 |
更大的灵活性允许轻松修改(添加、删除)数据 | 灵活性较低,因为添加、删除必须按元素进行 |
整个列表可以在没有任何显式循环的情况下打印 | 必须形成一个循环来打印或访问数组的组件 |
消耗更大的内存以便于添加元素 | 内存大小相对更紧凑 |