numpy数组内存id

时间:2018-04-16 10:55:54

标签: python arrays numpy

以下代码:

import numpy as np
x=np.array([1,-1,-1,1])
y = 0.5 * (x + 1)
id(x[0])==id(y[0])

输出为True,但是如果我为x[0]=1212分配一个新值,那么

的输出
id(x[0])==id(y[0])

也是真的。但是x[0]y[0]的值不同。为什么?

1 个答案:

答案 0 :(得分:0)

答案在于id本身的定义。

id函数返回的数字是多少?

它是一个整数(或长整数),保证在该生命周期内该对象是唯一且恒定的。" (Python标准库 - 内置函数)一个唯一的编号。没有更多,也没有更少。

根据上述定义,无论其值如何,id都将保持相同。希望对你有帮助。