[python] Buducnost Pythonu: lambda, map, filter
Petr Prikryl
PrikrylP na skil.cz
Pátek Listopad 10 15:25:40 CET 2006
Roman Miklos
> A ako urobim bez lambda nejaku funkciu, ktora mi vrati funkciu?
> Napriklad toto:
>
> >>> def linear(c):
> return (lambda x: c*x)
>
> >>> f1=linear(1)
> >>> f2=linear(5)
> >>> for x in range(5):
> print "f1(%d)=%d, f2(%d)=%d" % (x,f1(x),x,f2(x))
>
>
> f1(0)=0, f2(0)=0
> f1(1)=1, f2(1)=5
> f1(2)=2, f2(2)=10
> f1(3)=3, f2(3)=15
> f1(4)=4, f2(4)=20
def linear(c):
def fn(x):
return c * x
return fn
f1=linear(1)
f2=linear(5)
for x in range(5):
print "f1(%d)=%d, f2(%d)=%d" % (x,f1(x),x,f2(x))
Je to prakticky stejné, jen je to pojmenované.
pepr
Další informace o konferenci Python