我该如何解释这些的最后一行?
>>> a = 1 >>> a is a True >>> a = [1,2,3] >>> a is a True >>> a = np.zeros(3) >>> a array([ 0.,0.,0.]) >>> a is a True >>> a[0] is a[0] False
我一直认为一切都至少“是”那件事本身!
解决方法
NumPy不将数组元素存储为Python对象.如果您尝试访问单个元素,NumPy必须创建一个新的包装器对象来表示该元素,并且每次访问该元素时都必须这样做.两次访问[0]的包装器对象是不同的对象,因此[0]是[0]返回False.