首页 > 解决方案 > 为什么要在 Numpy 中初始化一个数组

问题描述

我正在上一门关于 Python 统计思维的DataCamp 课程。在课程的某一时刻,讲师建议在用随机浮点数填充空数组之前初始化一个空数组,例如

rand_nums = np.empty(100_000)
for i in range(100_000):
    rand_nums[i] = np.random.random()

理论上,是否有任何理由在填充空数组之前对其进行初始化?它会节省内存吗?与以下代码相比,上面的代码有什么优势:

rand_nums = np.random.random(size=100_000)

标签: pythonarraysnumpyrandom

解决方案


绝对没有理由这样做。第二种方式更快、更易读且语义正确。

除此之外,np.empty实际上并没有初始化数组 - 它只分配内存,但现在它包含从这个程序和其他程序留在内存中的任意数据。


推荐阅读