您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

第二次运行np.empty

第二次运行np.empty

它不是随机的,它取决于计算机NumPy为数组请求一些空间时所提供的内存字节数。如果那里不是零,则将使用请求的dtype进行解释(看似随机,但更好的单词是不可预测的)。

在您的示例中,您没有保存第一个阵列,因此立即重用了第一个阵列的内存。

>>> import numpy as np
>>> print(id(np.empty((20))))
2545385324992
>>> print(id(np.empty((20))))
2545385324992

现在出现了令人惊讶的部分:似乎Python(或NumPy或您的OS)将内存归零,然后 其提供给NumPy 。

如果您创建的数组比其他数组大,那么它将不会是“零”,因为它是从其他地方获取的:

>>> print(np.empty((1, 2)))
[[  1.25757479e-311   1.25757479e-311]]
>>> print(np.empty((1, 3)))
[[  4.94065646e-324   9.88131292e-324   1.25757705e-311]]
其他 2022/1/1 18:26:04 有324人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶