Repaso
English
PythonIntermedioPY-32

Construir un string grande con s += piece en un bucle no se recomienda porque…

Opciones

  1. Los strings son mutables, así que pueden corromperse en un bucle
  2. Puede ser cuadrático, ya que cada += puede copiar todo el string (Opción correcta)
  3. Lanza un MemoryError cuando el string supera 1 MB
  4. Se exigen f-strings para cualquier string de más de una línea

Respuesta

Puede ser cuadrático porque cada += puede copiar todo el string

Por qué

Los strings no se pueden cambiar (son inmutables). Así que s += piece crea un string nuevo y copia todos los caracteres antiguos cada vez.

Con muchas piezas esto se vuelve muy lento (el tiempo crece con el cuadrado del tamaño).

Reúne las piezas en una lista y únelas una sola vez al final.

parts = []
for row in rows:
    parts.append(str(row))
text = "".join(parts)

Recuerda

Construye strings grandes con "".join(lista).

Términos clave

Practica esta pregunta en Repaso