在Python中,列表和数组是用于存储多个项目的数据结构。它们都支持元素索引以访问它们、切片和迭代元素。在这篇文章中,我们将看到两者之间的区别。
列表和数组的操作差异
访问元素速度很快Python 数组因为它们是连续的,但是插入和删除非常昂贵,因为所有元素都是从插入和删除元素的位置线性移动的。假设数组的长度为 1000,并且我们在第 100 个位置插入/删除元素,那么第 100 个位置之后的所有元素都将发生移位,因此操作会变得昂贵。
访问 a 中的元素Python列表与 Array 相同,因为 List 实际上是动态数组。在列表的开头或中间插入或删除元素可能效率较低,因为它可能需要移动所有后续元素,这在最坏的情况下是 linear-time 操作。
什么是列表?
A 列表Python中是一个内置的项目集合,可以包含多种数据类型的元素,这些数据类型可以是数字、字符逻辑值等。它是一个支持负索引的有序集合。可以使用包含数据值的 [] 创建列表。使用 Python 的内置函数可以轻松合并和复制列表的内容。
例子:
在此示例中,我们将创建一个列表Python。列表的第一个元素是整数,第二个元素是 Pythonstring,第三个是字符列表。
Python3
# creating a list containing elements
# belonging to different data types
sample_list = [1, "Yash", ['a', 'e']]
print(type(sample_list))
print(sample_list)
输出:
<class 'list'>
[1, 'Yash', ['a', 'e']]
什么是数组?
一个数组是包含同质元素(即属于相同数据类型)的向量。元素分配有连续的内存位置。通常,数组的大小是固定的。与列表相比,插入和删除成本较高,但由于连续的内存分配,数组中的索引速度更快。可以通过导入 array 模块来使用数组。
例子:
在此示例中,我们将使用 array 模块的 array() 函数创建一个 Python 数组,并使用type()函数。
Python3
# importing "array" for array creations
import array as arr
# creating an array with integer type
a = arr.array('i', [1, 2, 3])
print(type(a))
for i in a:
print(i, end=" ")
输出:
<class 'array.array'>
1 2 3
Python 中列表和数组的区别
下表显示了Python中List和Array之间的区别:
List |
大批 |
---|---|
可以由属于不同数据类型的元素组成 |
仅由属于相同数据类型的元素组成 |
无需显式导入模块进行声明 |
需要显式导入数组声明模块 |
无法直接处理算术运算 |
可以直接处理算术运算 |
优选较短的数据项序列 |
较长数据项序列的首选 |
更大的灵活性允许轻松修改(添加、删除)数据 |
由于添加和删除必须逐元素完成,灵活性较低 |
无需任何显式循环即可打印整个列表 |
必须形成一个循环来打印或访问数组的组件 |
消耗更大的内存以方便添加元素 |
内存大小相对更紧凑 |
嵌套列表的大小可以是可变的 | 嵌套数组的大小必须相同。 |
可以使用以下函数执行直接操作: 无需导入任何内容即可使用这些函数。 |
需要导入适当的模块来执行这些操作。 |
例子: my_list = [1,2,3,4] |
例子: 导入数组 arr = array.array(‘i’, [1, 2, 3]) |
相关用法
- Python List和Tuple的区别用法及代码示例
- Python List和Dictionary的区别用法及代码示例
- Python List append()用法及代码示例
- Python List extend()用法及代码示例
- Python List insert()用法及代码示例
- Python List remove()用法及代码示例
- Python List index()用法及代码示例
- Python List count()用法及代码示例
- Python List pop()用法及代码示例
- Python List reverse()用法及代码示例
- Python List sort()用法及代码示例
- Python List copy()用法及代码示例
- Python List clear()用法及代码示例
- Python List cmp()用法及代码示例
- Python List len()用法及代码示例
- Python List max()用法及代码示例
- Python List min()用法及代码示例
- Python List list()用法及代码示例
- Python List remove方法用法及代码示例
- Python List insert方法用法及代码示例
- Python List copy方法用法及代码示例
- Python List append方法用法及代码示例
- Python List clear方法用法及代码示例
- Python List pop方法用法及代码示例
- Python List sort方法用法及代码示例
注:本文由纯净天空筛选整理自yashchuahan大神的英文原创作品 Difference between List and Array in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。