Concatenación lenta.

Pepe Aracil pepe en diselpro.com
Mar Jun 1 13:30:34 CEST 2004


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