Concatenación lenta.

Marcos Sánchez Provencio rapto en arrakis.es
Mar Jun 1 13:52:15 CEST 2004


Si al final el resultado va a un fichero, seguro que es más rápido 
escribir al fichero. Creo ;-)

Se suele recomendar el truco que indicas (con join) para montar cadenas 
a partir de trocitos.

Pepe Aracil wrote:

>Hola.
>
>Tengo un problemilla con la velocidad de concatenación.
>
>Por Ej.
>---
>buffer = ""
>for x in xrange(65535):
>	buffer+="FF"
>---
>
>Esto es lentiiiiisimo. Supongo que es porque al ser un objeto inmutable, 
>necesita crearlo cada vez.
>
>He probado con el join de esta manera
>
>-----
>buffer=""
>ls=[]
>for x in xrange(65535):
>	ls.append("FF")
>buffer="".join(ls)
>-----
>
>Este segundo ejemplo es mucho más rápido, pero ¿Es la forma más rápida de 
>componer una cadena a partir de cadenas más pequeñas?
>
>Necesito saber el método más rápido porque tengo que transformar ficheros 
>relativamente grandes a cadenas con su contenido en hexadecimal.
>
>
>Gracias.
>
>
>
>
>
>  
>




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