python - NumPy 数组和 Python 列表有什么区别?

标签 python arrays list numpy

<分区>

为什么我们使用 numpy 数组代替 python 中的列表?它们之间的主要区别是什么?

最佳答案

Numpy arrays 是一种类型化数组,内存中的数组存储的是同质的、密密麻麻的数字。

Python列表是一个异构列表,内存中的列表存储的是对对象的引用而不是数字本身。

这意味着每次代码需要访问数字时,Python 列表都需要解除对指针的引用。虽然 numpy 数组可以直接由 numpy 向量运算处理,这使得这些向量运算比您可以使用列表编写的任何代码都快得多。

numpy 数组的缺点是,如果您需要访问数组中的单个项目,numpy 需要将数字装箱/拆箱到 python 数字对象中,这在某些情况下会使其变慢;并且它不能保存异构数据。

关于python - NumPy 数组和 Python 列表有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35825802/

相关文章:

GPU 的 Python 编码

java - Java 和 Python 守护进程之间的数据桥

Java队列固定大小的数据结构

c++ - 使用 C++ 在值数组中查找最大利润 (max - min)

c - 如何对表示时间表的数组结构对象进行排序

python - 如何从嵌套列表中仅获取前 5 名和后 5 名列表?

执行 .split() 后返回字典的 python 列表理解

MySQL 类型列表以及每种类型的总和

python - 如何从 Python 获取失败服务的 systemctl 结果?

python - flask 如何传递 2 个参数?