Surprise using the 'is' operator

tobiah toby at tobiah.org
Wed Sep 27 12:13:44 EDT 2006


Simon Brunning wrote:
> On 9/27/06, tobiah <toby at tobiah.org> wrote:
>> Suppose I fill an list with 100 million random integers in the range
>> of 1 - 65535.  Wouldn't I save much memory if all of the ocurrances
>> of '12345' pointed to the same integer object?  Why should more be made,
>> when they all do the same thing, and are not subject to change?
> 
> If you were to drop that list, then to generate another large list of
> integers, you'd want to re-use the memory from the first lot, wouldn't
> you?
> 
> (BTW, AFAIK, integers are kept seperate from other objects
> memory-wise, so memory used for integers won'tr be re-used for other
> object types. but memory used for integers can be re-used for *other*
> integers. I think.)
> 

I'm confused now, but yes, I would want to reuse the memory for
the other integers.  That's why I understand why I get the same
id back for small integers, but why limit that to (-5, 257)?

Thanks,

Toby




More information about the Python-list mailing list