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