dictionary size changed during iteration
Roy Smith
roy at panix.com
Sat May 7 18:12:21 EDT 2011
In article <7xd3jukyn9.fsf at ruckus.brouhaha.com>,
Paul Rubin <no.email at nospam.invalid> wrote:
> Roy Smith <roy at panix.com> writes:
> > changes = [ ]
> > for key in d.iterkeys():
> > if is_bad(key):
> > changes.append(key)
>
> changes = list(k for k in d if is_bad(k))
>
> is a little bit more direct.
This is true. I still file list comprehensions under "new fangled
toys". While I use them, and appreciate their value, I admit they're
not always the first thing that comes to my mind.
OBTW,
> changes = [k for k in d if is_bad(k)]
is even more direct :-)
More information about the Python-list
mailing list