Snehal Shekatkar Snehal Shekatkar - 1 year ago 78
Python Question

Why the elements of numpy array not same as themselves?

How do I explain the last line of these?

>>> a = 1
>>> a is a
>>> a = [1, 2, 3]
>>> a is a
>>> a = np.zeros(3)
>>> a
array([ 0., 0., 0.])
>>> a is a
>>> a[0] is a[0]

I always thought that everything is at least "is" that thing itself!

Answer Source

NumPy doesn't store array elements as Python objects. If you try to access an individual element, NumPy has to create a new wrapper object to represent the element, and it has to do this every time you access the element. The wrapper objects from two accesses to a[0] are different objects, so a[0] is a[0] returns False.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download