NumPy数组和简单的python数组有什么区别?

时间:2016-03-06 10:35:00

标签: python arrays numpy

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

1 个答案:

答案 0 :(得分:5)

Numpy数组是一个类型化数组,内存中的数组存储一个同质的,密集的数字。

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

这意味着每次代码需要访问该数字时,Python列表都需要取消引用指针。虽然numpy数组可以通过numpy向量运算直接处理,这使得这些向量运算比使用list编码的任何东西都快得多。

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