Eliminar \n de los componentes de una lista

Hernan Martinez Foffani hernan en orgmf.com.ar
Vie Oct 18 12:30:14 CEST 2002


[Antonio]
> A raíz de la contestación de Andrés, ¿Cuales son las tecnicas o
> mejoras que puedes hacer en el código para aumentar la velocidad en la
> ejecución? Existe algún manual donde se expliquen estas técnicas...
> Yo conozco alguna, pero no se si todavía son válidas o con los nuevos
> interpretes de python2.2 han quedado obsoletas.

esta pagina http://manatee.mojam.com/~skip/python/fastpython.html es la
referencia tradicional y aunque no parezca actualizada las sugerencias
todavía valen.  y nunca dejaría de tener presente:
http://www.python.org/doc/essays/list2str.html

en particular yo diría usar los metodos del tipo str en vez de las
funciones que hay en el modulo "string".  es muy comun verlos en
programas de versiones viejas.

cuando se quiera optimizar bucles además de la pareja de cracks
map/lambda no olvidar las comprensiones de listas que suelen ser
MUY rápidas (están en el mismo orden).  en la pregunta original
sería:
   l = [x[:-1] for x in l]

otro consejito: sacar provecho de los iteradores y generadores.  con
ellos se puede reescribir el codigo aplanando recursividades y evitando
callbacks.  el resultado es codigo mas rapido y mas limpio.

pero al final coincido totalmente con Marcos.  estudiando bien los
algoritmos es cuando se pueden obtener diferencias de 10x

saludos
-hernan

"premature optimization is the root of all evil (well, almost :)"
                                   --guido van rossum





Más información sobre la lista de distribución Python-es