Strategy for determing difference between 2 very large dictionaries
python at bdurham.com
python at bdurham.com
Wed Dec 24 03:39:56 EST 2008
Hi Marc,
> `keys()` creates a list in memory, `iterkeys()` does not. With
> ``set(dict.keys())`` there is a point in time where the dictionary, the
> list, and the set co-exist in memory. With ``set(dict.iterkeys())``
> only the set and the dictionary exist in memory.
Perfect explanation.
Thank you!
Malcolm
----- Original message -----
From: "Marc 'BlackJack' Rintsch" <bj_666 at gmx.net>
To: python-list at python.org
Date: 24 Dec 2008 08:30:41 GMT
Subject: Re: Strategy for determing difference between 2 very large
dictionaries
On Wed, 24 Dec 2008 03:23:00 -0500, python wrote:
> Hi Gabriel,
>
> Thank you very much for your feedback!
>
>> k1 = set(dict1.iterkeys())
>
> I noticed you suggested .iterkeys() vs. .keys(). Is there any advantage
> to using an iterator vs. a list as the basis for creating a set? I
> understand that an iterator makes sense if you're working with a large
> set of items one at a time, but if you're creating a non-filtered
> collection, I don't see the advantage of using an iterator or a list.
> I'm sure I'm missing a subtle point here :)
`keys()` creates a list in memory, `iterkeys()` does not. With
``set(dict.keys())`` there is a point in time where the dictionary, the
list, and the set co-exist in memory. With ``set(dict.iterkeys())``
only
the set and the dictionary exist in memory.
Ciao,
Marc 'BlackJack' Rintsch
--
http://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list