Q about object identity
Christian Heimes
lists at cheimes.de
Tue Jun 3 17:08:46 EDT 2008
vronskij at gmail.com schrieb:
> Hello,
>
> I am testing object identity.
>
> If I do it from the interpreter, I get strange results.
>
>>>> print [] is []
> False
>
>>>> print id([]), id([])
> 3083942700 3083942700
>
>
>
> Why is that? Isn't this an error?
No, it's not an error. You are getting this result because the list
implementation keeps a bunch of unused list objects in a free list. It's
an optimization trick. Python has to create two different list objects
for "[] is []" while it can reuse the same list object for id([]) == id([]).
Christian
More information about the Python-list
mailing list