[pyar] Explicacion - map()

DF-- dj.foguelman en gmail.com
Lun Jul 23 23:55:06 ART 2012


On Mon, Jul 23, 2012 at 9:45 PM, Germana Oliveira <
germanaoliveirab en gmail.com> wrote:

> More than one sequence may be passed; the function must then have as
> many arguments as there are sequences and is called with the
> corresponding item from each sequence (or None if some sequence is
> shorter than another). For example:
>
> >>> seq = range(8)
> >>> def add(x, y): return x+y
> ...
>
>> >>> map(add, seq, seq)
>>
> [0, 2, 4, 6, 8, 10, 12, 14]
>
>
Empecemos por el principio, map es una función de alto orden[0]. Esto
significa (roughly) que toma funciones como parámetro.

En particular map aplica la función para cada elemento del a sequencia que
le pases como parámetro y el resultado lo pone en otra lista. Eso por
definición[1].

Una implementación iterativa de map sería:
def un_mapping(f, seq):
    res = []
    for elem in seq:
         res.append(f(elem))
    return res

Ahora lo generalizas para múltiples secuencias y en vez de hacer un zip
rebuscado voilá!

Y de postre:
http://docs.python.org/tutorial/datastructures.html#functional-programming-tools

Salú

PD: Lo de citar las fuentes del ejemplo para qué es?


[0] https://en.wikipedia.org/wiki/Higher-order_function
[1] https://en.wikipedia.org/wiki/Map_%28higher-order_function%29
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120724/5dd6abd0/attachment.html>


More information about the pyar mailing list