[pyar] Modificar elementos de lista in place

Roberto Alsina ralsina en netmanagers.com.ar
Lun Ago 15 18:50:14 ART 2011


On 8/15/2011 6:44 PM, Emiliano Dalla Verde Marcozzi wrote:
> El 15 de agosto de 2011 18:35, Roberto Alsina 
> <ralsina en netmanagers.com.ar <mailto:ralsina en netmanagers.com.ar>> escribió:
>
>     On 8/15/2011 6:24 PM, Lucas wrote:
>
>         2011/8/15 Roberto Alsina<ralsina en netmanagers.com.ar
>         <mailto:ralsina en netmanagers.com.ar>>:
>
>             On 8/15/2011 5:58 PM, Lucas wrote:
>
>                 Gente,
>
>                 Hablando con un amigo que esta empezando en python, me
>                 pregunto si
>                 python tenia un apply que aplicara a cada elemento de
>                 la lista una
>                 funcion. Y resulta que no pude darle ninguna respuesta
>                 convincente, ya
>                 que todas las formas que se me ocurrieron devuelven
>                 una nueva lista.
>
>                 Cual seria la forma correcta de aplicar a cada
>                 elemento de una lista
>                 una funcion, pero haciendolo dentro de la misma lista?
>
>             for i, e in enumerate(l):
>                l[i]=f(e)
>
>         Esta fue mi primer sugerencia, pero mi amigo insite en algo menos
>         verbose, viene de javascript donde parece q hay algo como
>         list.aplpy(func) o algo asi.
>
>
>     def apply_in_place(l,f):
>
>        for i, e in enumerate(l):
>            l[i]=f(e)
>
>     apply_in_place(l,f)
>
>     No lo veo menos verbose ;-)
>
>
> Que como dijo Matias, es como llamar a map(funcion, cosa_que_se_itera) ^^

No. map(f, iterable) no es in place. Fijate que mi apply_in_place no 
devuelve nada...


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110815/ef9c7372/attachment.html>


More information about the pyar mailing list