Para continuar el tema que tratamos en un post anterior, en esta ocasión hablaremos sobre las diferencias entre listas y strings en Python.
Diferencias entre listas y strings
A modo de repaso, recordemos que ambas estructuras son secuencias ordenadas de elementos. Sin embargo, las listas son mutables mientras que las cadenas de texto no. Esto significa que en las listas se puede cambiar, mediante una simple asignación, el elemento que ocupa una cierta posición. Como veremos a continuación, esto no es posible en los strings.
Modificando elementos
Por ejemplo, utilicemos la siguiente lista:
paises = ['Argentina', 'Uruguay', 'Paraguay', 'Chile', 'Bolivia', 'Brasil']
Como podemos ver, el elemento que ocupa la posición 2 es ‘Paraguay’. Podemos reemplazarlo de esta manera:
paises[2] = 'Ecuador'
Ahora consideremos una cadena de texto tal como
miPais = 'Uruguay'
Si bien podemos acceder a cada caracter utilizando índices o slices:
miPais[0] miPais[2:]
no podemos cambiar elementos mediante asignación. Por eso
miPais[0] = 'P'
resultará en un TypeError.
Si deseamos modificar o más bien dicho crear una nueva versión de una cadena de texto podemos recurrir al slicing de la siguiente manera:
miNuevoPais = 'Para' + miPais[3:]
En la Fig. 1 podemos observar el resultado de todos los ejemplos anteriores:
Mejorando el formato
Cuando necesitamos tratar con listas extensas, el formato usual en el que vemos un elemento a continuación del anterior puede resultar poco amigable. En ese caso y en cualquier escenario, podemos expresar una lista en varias líneas con un elemento en cada una como vemos en la Fig. 2. En el caso de las cadenas de texto podemos indicar que la expresión continúa en la línea siguiente utilizando una barra invertida (\). También es posible encerrar un string que ocupe varias líneas podemos comenzarlo y terminarlo con comillas triples. En la Fig. 2 también ilustramos estos puntos mediante ejemplos.
Espero que este post les haya resultado útil. ¡Nos leemos en breve!