No ako si tu cital lambda je obsolete a teda zbytocne aby si to v tejto faze vyvoja Pythonu este studoval. Lambda je v podstate (jak uz mnohi pisali) hracka z FP, ktora nema valny vyznam
Ale ak ta to zaujima tu je nieco http://www.diveintopython.org/power_of_introspection/lambda_functions.html http://www.secnetix.de/~olli/Python/lambda_functions.hawk Kedysi som sa s tym trochu hral a tu ti posielam zdrojak s mojimi poznamkami: ################# # Lambda funkcie ################# # definicia Lambda funkcie lambda x: x * x print lambda x: x * x # definicia Lambda funkcie a jej naviazanie (pomenovanie) na f f = lambda x: x * x print f # vyhodnotenie pomenovanej Lambda funkcie print f(2) # vyhodnotenie nepomenovanej Lambda funkcie hned na mieste jej definicie print (lambda x: x*x + 2*x - 3) (4) ########### # Currying ########### # Namiesto Lambda funkcie 2 argumentov print lambda x,y: x + y print (lambda x,y: x + y) (3, 4) # mozno vytvorit generujucu funkciu s jednym argumentom, print lambda x: (lambda y: x + y) # ktora pre kazdy argument generuje funkciu jednej premennej print lambda x: (lambda y: x + y) (3) # vysledok je lambda y: 3 + y # ak sa tato vygenerovana funkcia vyhodnoti s nejakym argumentom, da vysledok print (lambda x: (lambda y: x + y) (3)) (4) # t.j. (lambda y: 3 + y) (4) # t.j prehladnejsie zapisane cez pomenovane Lambda funkcie: # namiesto funkcie 2 argumentov h = lambda x,y: x + y print h(3,4) # mozeme vytvorit generujucu funkciu s jednym argumentom, g = lambda x: (lambda y: x + y) # ktora pre kazdy argument generuje funkciu jednej premennej print g(3) # vysledok je g(3) = lambda y: 3 + y # ak sa tato vygenerovana funkcia vyhodnoti s nejakym argumentom, da vysledok print g(3)(4) # t.j. g(3)(4) = (lambda y: 3 + y) (4) "MaReK Olšavský" <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 14.11.2006 11:48 Please respond to Konference PyCZ <[email protected]> To Konference PyCZ <[email protected]> cc Subject Re: [python] List comprehention Kdyz uz jste u toho, je nekde *rozumny* tutor na ty lambda vyrazy? Lisp se mi kvuli tomu studovat nece... - -- MaReK "Penguin" Olšavský PHP Voodoo private mail: [EMAIL PROTECTED] private web: http://orsm.wz.cz ICQ#: 160 178 925; MSN: [EMAIL PROTECTED]; Skype: Penguin_007 tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX) Na stránce bylo napsáno: "Optimalizováno pro Explorer 5, nebo lepší". Tak jsem přešel na Mozilla Firefox --> http://firefox.czilla.cz/ Roman Miklos napsal(a): > List comprehention som doteraz okrem trivialnych prikladov nikdy nepouzil. > Kedze to vsak ma v buducnosti v Pythone nahradit ine konstrukcie zacinam > sa o to zaujimat. > > Zaujalo, ma ze > filez = reduce(lambda x,y: x+y, map(glob.glob, arguments)) > > alebo > > filez=[] > for arg in arguments: > arg_list=glob.glob(arg) > filez += arg_list > > sa da napisat cez generator zoznamu napisat takto: > > [f for a in arguments for f in glob.glob(a)] > > Nemozem vsak pochopit ako sa ten zapis skonstruuje:-) Uff, je to pre mna > intuitivne asi tak ako teoria relativity. > Da sa to nejako rozobrat na casti, alebo prezatvorkovat, aby bolo vidiet > co k comu patri? Moze mi to niekto vysvetlit? > > > > Mgr. Ing. Roman MIKLÓŠ > Prvá stavebná sporiteľňa a.s. > Bajkalská 30, P. O. Box 48 > 829 48 Bratislava 25 > Tel.: +421/ 2 / 582 31 174 > Fax: +421/ 2 / 582 31 109 > > _______________________________________________ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python > > _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. Bajkalská 30, P. O. Box 48 829 48 Bratislava 25 Tel.: +421/ 2 / 582 31 174 Fax: +421/ 2 / 582 31 109 _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
