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: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

13 horas ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

3 días ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

1 semana ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

1 semana ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

2 semanas ago

Segmentación RFM: cómo clasificar tu cartera de clientes antes de calcular el CLV

En un artículo anterior vimos la fórmula clásica del CLV junto a sus limitaciones. Una…

2 semanas ago

This website uses cookies.