[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