很基本的问题。 Numpy比list更快,而且比list做得更多。
我可以创建一个列表
A = [1,2,3,4]
而且我也可以和Numpy做类似的事情。
B = np.array([1,2,3,4])
如果NumPy可以做list所能做的一切,那么使用list有什么具体的原因吗?
当涉及到附加和删除项时,列表通常更有能力。 列表也不是类型化的,而numpy数组是类型化的。 您可以向列表中添加任何对象,但只能向numpy数组添加某种类型的值。
Numpy阵列被优化用于数值矩阵计算。 它们服务于不同的目的。 如果您希望简单地对向量类对象进行数学运算,那么numpy是一种可行的方法。 如果您需要存储不同类型和数量的信息,列表会更好,而且在许多情况下更有效率。
如果要将各种数据类型放入数据容器中,则应使用List。 数组可以存储一种类型的数据。 和数组一般适用于算术运算。 虽然您可以使用列表进行算术计算,但数组对于这些任务来说是非常友好的。 例如:
如果你有一个数字列表,你想做一些基本的数学运算,就像这样:
x=[2,4,6,8,10]
print(x/2)
这将抛出一个错误,如“不支持的操作数for List”
使用数组这样做将成功地吐出预期的输出。