Deleting dictionary items
Remco Gerlich
scarblac at pino.selwerd.nl
Mon Mar 19 03:59:19 EST 2001
Terry Reedy <tjreedy at udel.edu> wrote in comp.lang.python:
>
> > This makes me think, would it be a sane way of doing things to use a list
> > comprehension to modify a dictionary?
> ...
> > filter(dict, lambda key: key[attr] == value)
> >
> > Is this possible? Desireable? Too stupid to contemplate?
>
> Funny coincidence. Just 3 miniute ago, before reading this, I tossed out a
> similar idea, in the thread Subsetting a Dictionary, of adding 'dict
> comprehensions' with syntax directly paralleling list comprehensions.
>
> {k,v for k,v in dict if condition(k,v)}
>
> Lists and dicts are subcategories of collection or set. Subseting is, by
> axiom, a general set operation not limited to ordered sets (lists). So
> this is hardly a stupid idea.
I'd like
{ k:v for k,v in dict.items() if condition(k.v) }
better, as long as the "for k,v in dict:" loop isn't going to be in the
language. If it is, then the items() isn't necessary. And I like : better
than ,.
--
Remco Gerlich
More information about the Python-list
mailing list