[EMAIL PROTECTED] wrote:
> [EMAIL PROTECTED] wrote:
> > [EMAIL PROTECTED] wrote:
> > > [EMAIL PROTECTED] wrote:
> > > > >  and, as you just found out, a rather restrictive one
> > > > > at that.
> > > >
> > > > In part because Python's designers failed to make "print" a function
> > > > or provide an if-then-else expression.
> > > >
> > > Why would one need print in lambda ? I like ternary operator(and there
> > > is ugly work around though still 100% functional). But print ?
> >
> > I dashed that last part off quickly, so I don't have a good reason.
> > Maybe to insert a debugging print temporarily?
> If one needs it for debugging, it raise an alarm bell if lambda is the
> right thing to use. Though it is still doable, in a hackary way :
>
> def debug(x): print x
>
> reduce(lambda x,y: (x+y, debug(x))[0], range(10))

There's also

lambda x, y: sys.stdout.write('%s\n' % x) or x + y

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to