Saltar al contenido principal

Inmutabilidad de una cadena

Puede ser tentador utilizar el operador [] en el lado izquierdo de una asignación, con la intención de cambiar un carácter de una cadena. Por ejemplo:

saludo = 'hola, mundo!'
saludo[0] = 'H' # TypeError: 'str' object does not support item assignment

El objeto en este caso es la cadena y el ítem es el carácter que intentamos asignar. Por el momento, un objeto es lo mismo que un valor, pero vamos a redefinir esto más adelante. Un ítem es uno de los valores de una secuencia.

La razón por la que ocurre este error es que las cadenas son inmutables, lo que significa que no puedes modificar una cadena existente. Lo mejor que puedes hacer es crear una nueva cadena que sea una variación de la original:

saludo = 'hola, mundo!'
nuevo_saludo = 'H' + saludo[1:]
print(nuevo_saludo) # Imprime: Hola, mundo!

Este ejemplo concatena una nueva letra a una parte de saludo. Esto no tiene efecto sobre la cadena original.