【问题标题】:Differences between python's numpy.ndarray and list datatypespython的numpy.ndarray和list数据类型的区别
【发布时间】:2011-07-10 14:42:30
【问题描述】:
python 的 numpy.ndarray 和 list 数据类型有什么区别?我有模糊的想法,但想得到一个明确的答案:
- 内存大小
- 访问速度/顺序
- 修改速度/顺序,但保留长度
- 改变长度的影响
谢谢!
【问题讨论】:
标签:
python
arrays
list
performance
numpy
【解决方案1】:
有几个区别:
- 您可以将元素附加到列表中,但不能更改列表的大小
'numpy.ndarray' 不制作完整副本。
- 列表可以包含所有内容,在 numpy 数组中,所有
元素必须具有相同的类型。
- 在实践中,numpy 数组比向量函数更快
将函数映射到列表。
- 我认为修改时间不是问题,但迭代结束
元素是。
- Numpy 数组有许多与数组相关的方法('argmin'、'min'、'sort'、
等)。
当我需要做一些数学运算(求和、平均、数组乘法等)时,我更喜欢使用 numpy 数组,而当我需要迭代“项目”(字符串、文件等)时,我更喜欢使用列表。