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

El bestiario de los indicadores económicos absurdos: El zoo patrio

Cualquier país desarrollado tiene sus propios indicadores folclóricos. España, por motivos que tienen mucho que…

2 días ago

Por qué el banco te ofrece un 3% TAE y no es lo que parece

Entras a la web de tu banco. En la página principal, un banner llamativo: “Depósito…

4 días ago

Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…

1 semana ago

Augurios deportivos y portadas malditas, o cuando The Economist predice mejor al revés – El bestiario de los indicadores económicos absurdos (parte 3)

Cerramos la serie internacional con la categoría más estrambótica de todas: indicadores que predicen el…

1 semana ago

El Binning en Credit Scoring: El Arte de Discretizar Variables

Si el WOE y el IV son la base matemática del credit scoring, el binning…

2 semanas ago

Analytics Lane lanza la versión 1.2 del laboratorio con nuevas herramientas de ajuste de curvas y cálculo matricial

Seguimos iterando sobre el laboratorio de Analytics Lane y lanzamos la versión 1.2, disponible en:https://www.analyticslane.com/lab/es…

2 semanas ago

This website uses cookies.