python numpy.ndarray和列表数据类型之间的差异

时间:2011-03-07 19:42:11

标签: python arrays list performance numpy

python的numpy.ndarray和list数据类型有什么区别?我有一些模糊的想法,但想得到一个明确的答案:

  1. 内存中的大小
  2. 访问速度/顺序
  3. 修改的速度/顺序,但保留长度
  4. 改变长度的影响
  5. 谢谢!

2 个答案:

答案 0 :(得分:4)

有几点不同:

  • 您可以将元素追加到列表中,但不能更改a的大小 'numpy.ndarray'没有制作完整的副本。
  • 列表可以包含所有内容,包括numpy数组 元素必须具有相同的类型。
  • 实际上,numpy数组比矢量函数更快 将函数映射到列表。
  • 我认为修改时间不是问题,而是迭代 元素是。
  • Numpy数组有许多与数组相关的方法('argmin','min','sort', 等)。

当我需要进行一些数学运算(求和,平均值,数组乘法等)时,我更喜欢使用numpy数组,当需要迭代'items'(字符串,文件等)时,我更喜欢使用。

答案 1 :(得分:1)

我从各种链接和资源中读到并总结了我的理解如下:

  1. 使用numpy数组的主要好处应该是更小的内存消耗和更好的运行时行为。

  2. NumPy的主要优势之一是它与标准Python相比具有时间优势。

  3. 好解释:https://www.python-course.eu/numpy.php