Python - sbírka hezkých konstrukcí

Z Varhoo
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(blbá chyba :D)
Řádka 8: Řádka 8:
   
 
list = range(1,10)
 
list = range(1,10)
avarage = lambda list:reduce((lambda x,y:x+y) ,list) / float(len(list))
+
average = lambda list:reduce((lambda x,y:x+y) ,list) / float(len(list))
 
>> 5.0
 
>> 5.0
   

Verze z 14. 6. 2011, 13:17

Funkce pro spočítání sumy

list = range(1,10)
reduce((lambda x,y:x+y) ,list)
>> 45

Pak lze snadno vytvořit funkci pro výpočet průměru

list = range(1,10)
average = lambda list:reduce((lambda x,y:x+y) ,list) / float(len(list))
>> 5.0

Funkce filtru

list = range(1,10)
[x for x in list if x >5]
>> [6, 7, 8, 9]

Funkce map

list = range(1,10)
[2**x for x in list]
>> [2, 4, 8, 16, 32, 64, 128, 256, 512]

Popřípadě využití lambda výrazu

list = range(1,10)
f = lambda x: 2**x
[f(x) for x in list]
>> [2, 4, 8, 16, 32, 64, 128, 256, 512]