On Mon, Nov 13, 2006 at 06:14:26PM +0100, Roman Miklos wrote: > Kazdopadne si myslim. ze reduce() ma opodstatnenie, kto tomu rozumie, moze > robit veci elegantnejsie.
To je asi otazka vkusu. Osobne nic proti funkci reduce nemam, ale uznavam, ze patri spis do nejake pomocne knihovny nez do __builtins__. > # suma 1,..,n > suma1=lambda n: reduce(lambda x,y: x+y, range(n+1)) > print "suma(%d)=%d" %(5, suma1(5)) sum(range(n+1)) > # suma zoznamu > suma2=lambda l: reduce(lambda x,y: x+y, l) > l = range(6) > print "suma(%s)=%d" % (l, suma2(l)) sum(l) > # faktorial > faktorial=lambda n: reduce(lambda x,y: x*y, range(2, n+1), 1) > print "faktorial(%d)=%d" % (0, faktorial(0)) > print "faktorial(%d)=%d" % (5, faktorial(5)) Faktorial se prakticky pocita pouze v prvnich lekcich vyuky Pythonu a tam se to kvuli nazornosti dela rekurzivni funkci :-) > # Globbing - rozvinut wildcards ?, * v cestach k suborom > import sys, operator, glob > arguments = sys.argv[1:] > # ak su zadane nejake command-line argumenty (napr. editor.py oop1*.* > *.py~) > if arguments: > > # pouzitie reduce() > filez = reduce(lambda x,y: x+y, map(glob.glob, arguments)) [f for a in arguments for f in glob.glob(a)] Radek Kaňovský _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
