当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python List和Array的区别用法及代码示例


在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

大批

可以由属于不同数据类型的元素组成

仅由属于相同数据类型的元素组成

无需显式导入模块进行声明

需要显式导入数组声明模块

无法直接处理算术运算

可以直接处理算术运算

优选较短的数据项序列

较长数据项序列的首选

更大的灵活性允许轻松修改(添加、删除)数据

由于添加和删除必须逐元素完成,灵活性较低

无需任何显式循环即可打印整个列表

必须形成一个循环来打印或访问数组的组件

消耗更大的内存以方便添加元素

内存大小相对更紧凑

嵌套列表的大小可以是可变的 嵌套数组的大小必须相同。

可以使用以下函数执行直接操作:
count() - 用于计算列表中的特定元素
sort() - 对完整列表进行排序
max() - 给出列表中的最大值
min() - 给出列表中的最小值
sum() - 给出整数列表中所有元素的总和
index() - 给出指定元素的第一个索引
append() - 将元素添加到列表末尾
remove() - 删除指定的元素

无需导入任何内容即可使用这些函数。
还有很多…

需要导入适当的模块来执行这些操作。

例子:
my_list = [1,2,3,4]
例子:
导入数组
arr = array.array(‘i’, [1, 2, 3])


相关用法


注:本文由纯净天空筛选整理自yashchuahan大神的英文原创作品 Difference between List and Array in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。