|
|
|
|
|
by nine_k
4419 days ago
|
|
In the particular case of constructing several similar functions that do essentially the same thing, lambda is a rather natural choice. Being more explicit and less hacky can well be combined with staying true to functional style: from functools import partial
mul = lambda x, y: x*y # could use int.__mul__, too
multipliers = [partial(mul, n) for n in range(5)]
It does the closure-capturing of n for you. |
|
It would have a big ugly 'return' in it and be a few characters longer, but it would work the same, so I don't see what lambda brings to it.