On Sat, Feb 15, 2014 at 8:44 PM, Christian Gollwitzer <aurio...@gmx.de> wrote: >>>> import numpy as np >>>> a=np.array([1, 2, 3, 4]) >>>> b=a[:] >>>> id(a) > 140267900969344 >>>> id(b) > 140267901045920 > > So, a and b are different things, right? > >>>> b[1]=37 >>>> b > array([ 1, 37, 3, 4]) >>>> a > array([ 1, 37, 3, 4]) > > Still they are connected.
Well, yes, they are different things; but that doesn't mean they can't affect each other. And you don't need numpy to see that: >>> d = {} >>> k1 = d.keys() >>> k2 = d.keys() >>> k1 is k2 False >>> k1 == k2 True >>> d[1]=1 >>> k1 dict_keys([1]) >>> k2 dict_keys([1]) Two separate keys views on the same dictionary will, by definition, always show the same keys (and, I think, in the same order). But they're still separate objects. Their identities are distinct, their values are linked. ChrisA -- https://mail.python.org/mailman/listinfo/python-list