Python教程-Python数组 vs. 列表

Python数组和列表是Python的重要数据结构。列表和数组都用于在Python中存储数据。这些数据结构允许我们进行索引、切片和迭代。但它们在某些方面有一些不同之处。在本教程中,我们将学习Python列表和数组之间的主要区别。
简介
我们知道,Python具有广泛的数据结构,如列表、元组、集合和字典,提供了许多功能和函数。列表是Python中最有效和易于使用的数据结构之一。
另一方面,Python不提供数组的内置支持。我们需要导入数组模块以在Python程序中使用数组模块或从NumPy包中导入它们。这是数组和列表之间的主要区别。在深入研究这个主题之前,让我们简要介绍一下这两种数据结构。
Python列表
列表是Python的内置线性数据结构。它用于以顺序方式存储数据。我们可以对列表执行多种操作,如索引、迭代和切片。列表具有以下特点。
- 列表元素用方括号括起来,每个元素之间用逗号分隔。
- 它是可变类型,这意味着我们可以在创建后修改列表项。
- 列表是有序的,这意味着项目以特定顺序存储。我们可以使用索引来访问列表元素。
- 我们可以存储不同数据类型的项目。我们可以在同一个列表中组合字符串、整数和对象。
以下是列表的示例。
示例 -
list = [31, 60, 19, 12]
print(list)
print(type(list))
输出:
[31, 60, 19, 12]
<class 'list'>
示例 - 2
# creating a list containing elements
# belonging to different data types
list1 = [1,"Yash",['a','e']]
print(list1)
输出:
[1, 'Yash', ['a', 'e']]
在上面的列表中,第一个元素是整数,第二个是字符串,第三个是字符列表。
Python中的数组
数组也是一种线性数据结构,用于存储数据。它也是有序的、可变的,并用方括号括起来。它可以存储非唯一的项目。但存储不同数据类型的值有一些限制。
要在Python中使用数组,我们需要导入数组模块或Numpy。
import array as arr
or
import numpy as np
元素被分配在连续的内存位置上,这使得我们可以轻松地修改、添加、删除和访问元素。此外,我们需要指定数据类型。让我们了解以下示例。
示例 -
Import array as arr
array_1 = arr.array("i", [31, 60,19, 12])
print(array_1)
print(type(array_1))
输出:
array('i', [31, 60, 19, 12])
<class 'array.array'>
示例 - 2:使用Numpy数组
import numpy as np
array_sample = np.array(["str", 'sunil', 'sachin', 'megha', 'deepti'])
print (array_sample)
print(type(array_sample))
输出:
['numbers' 'sunil' 'sachin' 'megha' 'deepti']
<class 'numpy.ndarray'>
我们指定了字符串类型并存储了字符串值。
数组和列表之间的区别
现在,我们已经有了简要的介绍和特点。接下来,我们将讨论数组和列表之间的区别。
序号 | 列表 | 数组 |
---|---|---|
1. | 列表可以存储不同类型的值。 | 它只能包含相同类型的值。 |
2. | 列表不能直接处理算术运算。 | 它可以直接处理算术运算。 |
3. | 在使用数组之前,我们需要导入数组模块。 | 列表是内置的数据结构,所以我们不需要导入它。 |
4. | 列表比数组更不兼容以存储数据。 | 数组比列表更兼容以存储数据。 |
5. | 列表消耗更多的内存。 | 它在内存大小上比列表更紧凑。 |
6. | 适合存储较长的数据序列。 | 适合存储较短的数据项序列。 |
7. | 我们可以使用显式循环打印整个列表。 | 我们可以在不使用显式循环的情况下打印整个列表。 |
8. | 它可以嵌套以包含不同类型的元素。 | 它必须包含相同大小的所有嵌套元素。 |
结论
我们已经讨论了数组和列表之间的区别。在Python中,这两种数据类型都很重要,但它们都有一些限制。Python列表在Python中易于使用,而数组通常用于数据分析。