7.6. Las cadenas son inmutables

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

   1: saludo = "Hola, mundo"
   2: saludo[0] = 'M' # ERROR!
   3: print saludo


En lugar de presentar la salida Mola, mundo, este codigo presenta el siguiente error en tiempo de ejecucion TypeError: object doesn't




   1: support item
   2: assignment.

Las cadenas son inmutables, lo que signi¯ca que no puede cambiar una cadena existente. Lo mas que puede hacer es crear una nueva cadena que sea una variacion de la original:




   1: saludo = "Hola, mundo"
   2: nuevoSaludo = 'M' + saludo[1:]
   3: print nuevoSaludo 

Aquí la solución es concatenar una nueva primera letra a una porción de saludo.


Esta operación no tiene efectos sobre la cadena original.

0