tobiah wrote: > wesley chun wrote: >>> "Terry Reedy" <[EMAIL PROTECTED]> wrote: >>> > as a side note, the ints that are cached (for current versions of >>> > Python) are in range(-1, 100)... is this documented somewhere? >>> Not true for at least 2.4 and 2.5. The cached range has expanded >> >> oops, apologies to all... it really *is* subject to change. ;-) it's >> now range(-5, 257). >> >> -wesley > > I don't pretend to understand the reasons for all of this, > but if it is possible to use the same integer object whenever > it is referenced, then why should there be a limit on range? > > 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?
Because for typical usage of integers (which doesn't include your example), it is more expensive to check if there's already an integer with that specific value out there than to create a new one. Georg -- http://mail.python.org/mailman/listinfo/python-list