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

Sar*_*ang 4 python arrays performance numpy list

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

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

谢谢!

Pab*_*rro 6

有几个区别:

\n\n
    \n
  • 您可以将元素追加到列表中,但如果不制作完整副本,则无法更改 a\n\xc2\xb4numpy.ndarray\xc2\xb4 的大小。
  • \n
  • 列表可以包含所有内容,在 numpy 数组中,所有元素必须具有相同的类型。
  • \n
  • 实际上,对于向量函数来说,numpy 数组比将函数映射到列表更快。
  • \n
  • 我认为修改时间不是问题,但元素的迭代才是问题。
  • \n
  • Numpy 数组有许多与数组相关的方法(\xc2\xb4argmin\xc2\xb4、\xc2\xb4min\xc2\xb4、\xc2\xb4sort\xc2\xb4、\netc)。
  • \n
\n\n

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

\n