Duncan Booth wrote:
> mk <[email protected]> wrote:
>
>> Hm, apparently Python didn't spot that 'spam'*10 in a's values is really
>> the same string, right?
>
> If you want it to spot that then give it a hint that it should be looking
> for identical strings:
>
> >>> a={}
> >>> for i in range(10000000):
> ... a[i]=intern('spam'*10)
>
> should reduce your memory use somewhat.
>
Better still, hoist the constant value out of the loop:
>>> a={}
>>> const = 'spam'*10
>>> for i in range(10000000):
... a[i] = const
regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010 http://us.pycon.org/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/
--
http://mail.python.org/mailman/listinfo/python-list