a little trap revealed (was Re: Let's Talk About Lambda Functions!)
Gerald Squelart
squelart at hotmail.nospam.com
Sun Jul 28 01:50:01 EDT 2002
"Erik Max Francis" <max at alcyone.com> wrote
> Michele Simionato wrote:
> > I know a print statement cannot stay in a lambda function, however as
> > a newbie I ask : why ?
> Because a lambda is an expression, not a statement.
Therefore, a lambda *expects* an expression, not a statement.
However, you could indirectly include a print statement in the course of a running
lambda expression:
def printArg(arg):
print arg
return arg
l = lambda x: printArg(x)
a = l(10) # will print 10 and assign 10 to a
map(l, range(5)) # will print numbers 0 to 4 and return [0, 1, 2, 3, 4]
It may be useful to debug a lamdba expression.
Cheers,
Gerald.
More information about the Python-list
mailing list