[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