On Wed, Oct 20, 2010 at 9:40 PM, Paul Rubin <[email protected]> wrote: > Phlip <[email protected]> writes: >> def _scrunch(**dict): >> result = {} >> >> for key, value in dict.items(): >> if value is not None: result[key] = value >> >> return result >> >> That says "throw away every item in a dict if the Value is None". >> Are there any tighter or smarmier ways to do that? Python does so >> often manage maps better than that... > > Untested: > > def _scrunch(**kwargs): > return dict(k,v for k,v in kwargs.iteritems() if v is not None)
Also, in Python 3, one can instead use a dict comprehension (see PEP 274: http://www.python.org/dev/peps/pep-0274/ ), which makes this a bit more elegant: result = {k:v for k,v in kwargs.items() if v is not None} Cheers, Chris -- "Smarmy" code; now there's an interesting concept. http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list
