Me gusta la comprensión de listas
Alejandro Perez
perezj en pipa.uji.es
Vie Abr 25 12:31:00 CEST 2003
Buenos días,
La extracción de elementos de una lista que ocupan
las posiciones determinas por una serie parece un
problema bastante normal. El uso de comprensión de
lista está muy bien (F.Alted lo explica muy claro)
pero si la lectura del código se complica por hacer
mas compacta la rutina o las líneas de programa ...
> Por aquí irían los tiros:
>
> [L[i] for i in [f.next() for i in xrange(100)]]
> [L[f.next()] for i in xrange(100)]
>
> Aquí está el problema de que el generador podría estar "usado", y no
> daría los resultados esperados (no me gusta tener que utilizar .next() ).
>
Yo que soy una persona con una memoria direccionable
poco mas de 8 bits no recordaría para que pueden servir
cada una de las dos lineas anteriores, pasados unos días
desde el momento que las escribí.
Por eso yo optaría por una solución "tradicional"
indices = dame_N_elementos( N )
lista_final = [ L[ i ] for i in indices ]
En el caso de la longitud de indices sea muy grande,
usaría dame_1_elemento_de_N con iteradores.
lista_final = [ L[ i ] for i dame_1_elemento_de_N( N ) ]
Con lo que tenemos disponibles todas las condiciones
de corte en la CL y mantenemos la claridad. Creo :-)
En cualquier caso que vivan la comprensión de lista
Un saludo
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es