On Thu, 29 Aug 2013 14:27:23 -0700, fp2161 wrote: > Chris, call me a snob, but I resent using lambdas (aren't they usually > considered odd/bad practice in python?)
Only among people who dislike functional programming idioms. Like GvR. It is true that lambda functions are slightly restricted compared to "normal" functions: they are limited to a single expression, and they all share the same name '<lambda>', which if you have a lot of them can make debugging annoying. So *overuse* of lambdas is considered bad form. But for callbacks and such, they're fine. It is frowned upon to *directly* bind a lambda to a name, as in this: plusOne = lambda x: x+1 instead of: def plusOne(x): return x+1 which is fair enough for production code, but at the interactive interpreter (and throwaway code) I'll continue to feel free to assign anonymous functions to names just as I assign anonymous ints and anonymous lists to names :-) I say "directly" because this of course is allowed: funcs = [lambda x: x+1, lambda x: x*2, lambda x: x**3] for func in func: ... and *much* better than having to predefine plusOne, timesTwo, powerThree functions. -- Steven -- http://mail.python.org/mailman/listinfo/python-list