Python

Diferencia entre listas y tuplas en Python

A la hora de comenzar con Python es habitual utilizar las listas y las tuplas de forma prácticamente indiferente. Aparentemente ambas son dos estructuras de datos que sirven para lo mismo. Pero esto no es así, existen importantes diferencias entre listas y tuplas en Python que es necesario conocer.

La principal diferencia entre listas y tuplas en Python

La principal diferencia entre las listas y las tuplas de Python, y el motivo por el que muchos usuarios solamente utilizar listas, es que las listas son mutables mientras que las tuplas no lo son. ¿Pero qué significa ser mutable o no? Básicamente un objeto mutable se puede modificar una vez creado mientras que uno que no lo es no. Así el contenido de las listas se puede modificar durante la ejecución del programa mientras para las tuplas no es posible alterar su contenido.

Consecuencias de ser o no ser mutables

El hecho de ser mutable tiene además otras consecuencias. Para ser mutables las listas se almacena en dos bloques de memoria, mientras que las tuplas solo necesitan uno. Lo que provoca que las tuplas ocupen menos memoria que las listas. Además, por el hecho de no ser mutables, es más rápido manejar tuplas que listas.

Ejemplos de listas y tuplas

Para crear una lista solamente se tiene que enumerar los valores separados por comas entre corchetes. Así se puede crear una simplemente con la siguiente línea

>>> lista = ["uno", "dos", "tres"]

Ahora, dado que las lista es mutable se puede modificar el contenido de este asignado el nuevo valor en cualquiera de los registros existentes. Así se puede cambiar el primer registro mediante la expresión

>>> lista[0] = "cuatro"

Lo que se puede comprobar accediendo al contenido de la lista

>>> lista
['cuatro', 'dos', 'tres']

Por otro lado, las tuplas se crean utilizando paréntesis en lugar de corchetes. Esto es, para escribir una tupla se puede hacer

>>> tupla = ("uno", "dos", "tres")

En el caso de que se intente modificar el contenido de una tupla Python generará un error como se puede ver simplemente probando.

>>> tupla[0] = "cuatro"
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object does not support item assignment

Conclusiones

En esta entrada se han visto las principales diferencias entre listas y tuplas en Python, básicamente en el hecho de que las listas son mutables mientras que las tuplas no lo son. Así se puede comprobar en qué casos es mejor una u otra estructura de datos. En el caso de que no sea necesario modificar el contenido de los datos la mejor opción es la tupla, ya que es ocupa menos memoria y es más rápida. En el resto de los casos la mejor opción será utilizar listas.

Imágenes: Pixabay (Mediamodifier)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Curiosidad: La Paradoja de Simpson, o por qué no siempre debes fiarte de los promedios

En ciencia de datos y estadística, los promedios y porcentajes son herramientas fundamentales para resumir…

22 horas ago

Copias de seguridad automáticas en SQL Server con rotación de archivos

Las bases de datos son el corazón de casi cualquier sistema de información moderno. Ya…

3 días ago

Curiosidad: La Ley de Twyman y la trampa de los datos “interesantes”

En ciencia de datos, pocas cosas llaman más la atención de los científicos de datos…

1 semana ago

Cómo calcular el tamaño de la muestra para encuestas

Calcular adecuadamente el tamaño de la muestra es una parte esencial en el diseño de…

1 semana ago

Curiosidad: El origen del análisis exploratorio de datos y el papel de John Tukey

Hoy en día, cuando pensamos en ciencia de datos, lo primero que nos viene a…

2 semanas ago

Cómo extender el tamaño de un disco en Rocky Linux 9 usando growpart y LVM

Ampliar el espacio de almacenamiento en un sistema Linux es una tarea habitual y crítica…

2 semanas ago

This website uses cookies.