geekdoc-python-zh/docs/pythoncentral/the-difference-between-a-li...

1.5 KiB
Raw Permalink Blame History

快速提示:Python 中列表和数组的区别

原文:https://www.pythoncentral.io/the-difference-between-a-list-and-an-array/

Python 中使用数组和列表来存储数据,但它们的用途并不完全相同。它们都可以用来存储任何数据类型(实数、字符串等),并且都可以被索引和迭代,但是两者之间的相似之处就不多了。列表和数组的主要区别在于可以对它们执行的功能。例如,您可以将一个数组除以 3数组中的每个数字将被除以 3如果您请求的话结果将被打印出来。如果你试图将一个列表除以 3Python 会告诉你做不到,并抛出错误。

它是这样工作的:

x = array([3, 6, 9, 12])
x/3.0
print(x)

在上面的示例中,您的输出将是:

array([1, 2, 3, 4])

如果您尝试对列表做同样的事情,结果会非常相似:

y = [3, 6, 9, 12]
y/3.0
print(y)

这几乎和第一个例子完全一样,除了你不会得到一个有效的输出,因为代码会抛出一个错误。

使用数组确实需要一个额外的步骤,因为它们必须被声明,而列表不需要,因为它们是 Python 语法的一部分,所以列表通常在两者之间使用得更多,这在大多数时候都很好。然而,如果你要对你的列表执行算术函数,你真的应该使用数组。此外,数组将更紧凑、更高效地存储数据,因此,如果您存储大量数据,也可以考虑使用数组。