数组
在 Python 中,数组是一种数据结构,只能包含相同数据类型的元素,这意味着数组必须是同构的。数组是 C 语言数组的薄包装器,这使得它们消耗的内存比 Python 列表少得多。
例如,可以使用 array 模块创建一个整数数组:
import array
a = array.array('i', [1, 2, 3])
for i in a:
print(i)
a.append)
- 在这里,'i' 将数组中的值表示为整数类型。数组的大小也是可调整的,类似于列表,从而将它们与传统的 C 数组区分开来。但是,与列表不同的是,它们保持同质。
import array
a = array.array('i', [1, 2, 'string'])
{
"name": "TypeError",
"message": "'str' object cannot be interpreted as an integer",
"stack": "---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[5], line 3
1 import array
----> 3 a = array.array('i', [1, 2, 'string'])
TypeError: 'str' object cannot be interpreted as an integer"
}
列表
列表是 Python 最常用的数据结构之一,使用方括号 [] 即可轻松创建。列表可以存储多种类型的数据,使它们成为异类数据。但是,这种灵活性是有代价的,因为列表比数组消耗更多的内存。
l = [1, 2, '3']
for i in l:
print(i)
结论
虽然 Python 中的数组和列表都允许您存储和操作元素集合,但它们的用途不同。数组的内存效率更高,但只能存储相同数据类型的元素。另一方面,列表的用途更广,能够存储多种数据类型,但代价是增加了内存使用量。