【问题标题】:Differences between python's numpy.ndarray and list datatypespython的numpy.ndarray和list数据类型的区别
【发布时间】:2011-07-10 14:42:30
【问题描述】:

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

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

谢谢!

【问题讨论】:

标签: python arrays list performance numpy


【解决方案1】:

有几个区别:

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

当我需要做一些数学运算(求和、平均、数组乘法等)时,我更喜欢使用 numpy 数组,而当我需要迭代“项目”(字符串、文件等)时,我更喜欢使用列表。

【讨论】:

    【解决方案2】:

    我阅读了各种链接和资源,并将我的理解总结如下:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-23
      • 2013-11-17
      • 2021-08-11
      • 2011-05-04
      • 2018-08-03
      • 2018-10-19
      • 2013-04-26
      • 1970-01-01
      相关资源
      最近更新 更多