【发布时间】:2019-10-11 14:19:02
【问题描述】:
我是 Python 的初学者,最近了解了 NumPy 及其著名的ndarrays。起初,看了很多人夸他们(一些参考here,here,here),我想:
“好吧,如果 NumPy 的数组好得多,并且假设我并不真正关心在同一个列表/数组上具有异构数据类型,我为什么要使用 Python 的列表?”
但是,经过更深入的研究,我发现使用 ndarrays 也有不利的一面(一些参考文献here 和here)。我已经了解了使用这些数据结构的基本优缺点,但这一切对我来说似乎仍然很困惑。所以,我的问题是:作为 Python 的初学者,什么时候应该使用 NumPy 的数组,什么时候应该使用 Python 的列表?在给定情况下,我如何评估哪个选项是最好的?
有些人可能倾向于认为这篇文章是重复的——确实已经有很多“ndarrays vs lists”主题了。但是,我已经搜索了一段时间,但我的问题没有找到令人满意的答案。很多人都在谈论ndarrays和lists的好处,但是还不清楚,特别是像我这样的初学者,如何在它们之间进行选择。我应该在日常编码中使用 NumPy 数组并为特殊情况保存列表吗?还是我应该反其道而行之?谢谢!
注意:因为它可能与答案相关,所以我打算将 Python 主要用于机器学习。
【问题讨论】:
-
列表是基本的 Python 结构,可用于多种角色。
numpy主要是一个数字工具——矩阵、高维数组。它已扩展到使用pandas的时间序列,以及使用sklearn和tensorflow/keras的机器学习,
标签: python arrays list numpy numpy-ndarray