Diferencias entre listas y strings en Python

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:

Diferencias entre listas y strings: modificar valores
Figura 1 – Diferencias entre listas y strings: modificar valores

 

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.

Diferencias entre listas y strings: mejorando el formato mediante expresiones multilínea
Figura 2 – Diferencias entre listas y strings: mejorando el formato mediante expresiones multilínea

Espero que este post les haya resultado útil. ¡Nos leemos en breve!