- map
map(funzione, seq)
applica la funzione funzione a tutti gli elementi di seq e ritorna un nuovo iterabile
esempio: definisco una funzione che ritorna il quadrato di un numero
def square(n): definizione funzione
return n**2
squares = map(square, range(10)) map
squares
<map object at 0xb6730d8c> oggetto iterabile
list(squares) convertendolo in lista si possono vedere gli elementi
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
la seguente listcomp è equivalente a usare list(map(func, seq))
[square(x) for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
- filter
filter(funzione, seq)
ritorna un iterabile che contiene tutti gli elementi di seq per cui funzione(elem) è true
esempio: definisco una funzione che ritorna True se il numero è pari
def is_even(n):
if n%2 == 0:
return True
else:
return False
even = filter(is_even, range(10))
even
<filter object at 0xb717b92c> filter ritorna un oggetto iterabile
list(even) convertendolo in lista si possono vedere gli elementi
[0, 2, 4, 6, 8]
la seguente listcomp è equivalente a usare list(filter(func, seq))
[x for x in range(10) if is_even(x)]
[0, 2, 4, 6, 8]