"Kay Schluehr" wrote: > > Thu, 09 Jun 2005 03:32:12 +0200 skrev David Baelde: > > [snip] > > > > > > set_callback(obj, > > > lambda x: (if a: > > > 2 > > > else: > > > 3) > > > > > [snip] > > > > You can do stuff like this: lambda x: x and 2 or 3 > > You can also do this > > lambda x: {True:2,False:3}.get(bool(a)) > > which is both beautiful and pythonic. > > Kay
Beauty and 'pythonicity' are in the eye of the beholder; IMO both are much less obvious than the if/then/else, especially for a beginner or someone who has never seen these idioms before. I personally don't find the (ab)use of dictionaries in this case to be more beautiful or pythonic than the and/or idiom (not to mention the runtime cost of building a new dictionary every time), but YMMV. George -- http://mail.python.org/mailman/listinfo/python-list