Gustavo Angulo
@woakas
2015-10-15
Función es un objeto o clase (se puede pasar como parámetro a otras funciones).
Mucha recursión.
Muchas listas y diferentes formas de iterarlas.
Menos declaraciones más evaluación de expresiones
(List Comprehensions)
collection = []
for dt in data_set:
if condition(dt):
collection.append(dt)
else:
new = modify(dt)
collection.append(new)
collection = [d if condition(d) else modify(d)
for d in data_set]
(Generators)
log_lines = (line for line in read_line(huge_log_file)
if complex_condition(line))
(El nombre me lo inventé)
{i:chr(65+i) for i in range(6)}
from functools import reduce
from operator import mul
def factorialHOF(n):
return reduce(mul, range(1, n+1), 1)
def factorial_recursive(N):
assert isinstance(N, int) and N >= 1
return 1 if N <= 1 else N * factorialR(N-1)
O(c^n)
O(log(n))
map(func, it)
for e in it:
func(e)
do_f = lambda f, *args: f(*args)
hola = lambda first, last: str("Hola %s %s" % (first, last))
adios = lambda first, last: str("Adios %s %s" % (first, last))
map(do_f, [hola, adios], ["Gustavo", "Pepe"], ["Angulo", "Perez"])
def make_add(a):
def adder(b):
return a+b
return adder
map(lambda x: x*x, [i for i in range(10)])
filter(lambda x: x%2==0, [i for i in range(10)])
reduce(lambda x,y: x+y, [i for i in range(10)])
@woakas