• 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]