Cómo funciona la inmutabilidad en las listas de Python

| Última modificación: 15 de marzo de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En el mundo de la programación orientada a objetos, la inmutabilidad es un concepto fundamental que se aplica a varios tipos de datos. En este artículo, vamos a adentrarnos en el mundo de la inmutabilidad en las listas de Python, un lenguaje de programación muy usado en el sector IT. Entender cómo funciona la inmutabilidad en las listas de Python es esencial para escribir código eficiente y prevenir errores inesperados.

¿Qué es la inmutabilidad en las listas de Python?

La inmutabilidad en las listas de Python se refiere a la propiedad de las listas de no poder ser modificadas una vez han sido creadas. En otros términos, tras crear una lista inmutable, sus elementos no pueden alterarse, agregarse ni eliminarse. Esto es en contraste con las listas mutables, donde los elementos pueden cambiar libremente.

Tipos de datos en Python: Mutable vs. inmutable

Para comprender la inmutabilidad en las listas de Python, primero debes entender la diferencia entre tipos de datos mutables e inmutables en Python.

  • Tipos mutables: Los tipos de datos mutables son aquellos que pueden ser modificados después de su creación. Algunos ejemplos de tipos de datos mutables en Python son las listas y los diccionarios.
  • Tipos inmutables: Los tipos de datos inmutables, por otro lado, son aquellos que no pueden modificarse una vez se crean. Algunos ejemplos de tipos de datos inmutables en Python son las tuplas y los números complejos.

Listas inmutables en Python

En Python, para crear una lista inmutable, se utiliza una tupla. Las tuplas son similares a las listas, pero con la diferencia crucial de que no se pueden modificar una vez creadas. Veamos un ejemplo:

# Crear una tupla inmutable 
mi_tupla = (1, 2, 3) 

# Intentar modificar la tupla generará un error 
mi_tupla[0] = 4 # Esto generará un TypeError

Como se puede ver en el ejemplo anterior, intentar modificar una tupla generará un error de tipo. Esto demuestra la inmutabilidad de las tuplas en Python.

Ventajas de la inmutabilidad en las listas de Python

Las listas inmutables en Python tienen varias ventajas:

  1. Seguridad: Como no se pueden modificar, las listas inmutables brindan una mayor seguridad en el código. Evitan que se realicen cambios accidentales en los datos.
  2. Eficiencia: Las operaciones en listas inmutables suelen ser más eficientes que en listas mutables, especialmente cuando se trata de datos grandes.
  3. Claves en diccionarios: Las tuplas se pueden utilizar como claves en diccionarios, a diferencia de las listas, lo que las hace útiles en situaciones donde se necesita una clave única e inmutable.

Modificar una tupla inmutable

Aunque una tupla en sí misma es inmutable, los objetos que contiene pueden ser mutables. Esto significa que si una tupla contiene elementos que son listas u otros tipos de datos mutables, esos elementos aún pueden ser modificados. Veamos un ejemplo:

# Crear una tupla con una lista en su interior 
mi_tupla = ([1, 2, 3], 4, 5)
 
# Modificar el elemento mutable dentro de la tupla 
mi_tupla[0].append(6)
 
print(mi_tupla) # Output: ([1, 2, 3, 6], 4, 5)

En este ejemplo, la tupla en sí misma no se ha modificado, pero el objeto mutable dentro de la tupla (la lista) sí ha cambiado.

¿Dónde se utilizan los tipos inmutables?

Los tipos de datos inmutables, como las tuplas, se utilizan en situaciones donde se requiere que los datos no cambien. Algunos ejemplos de su uso son:

  • Claves de diccionario: Como mencionamos anteriormente, las tuplas se pueden usar como claves en diccionarios debido a su inmutabilidad.
  • Parámetros de funciones: Cuando se necesita pasar un conjunto de valores que no deben ser modificados dentro de una función, las tuplas son una elección común.
  • Valores constantes: En algunos casos, se pueden usar tuplas para representar valores constantes que no deben alterarse durante la ejecución del programa.

En resumen, la inmutabilidad en las listas de Python es un concepto importante en la programación orientada a objetos. Las listas inmutables, implementadas mediante tuplas, brindan seguridad y eficiencia en el código al evitar cambios accidentales en los datos. Es esencial comprender cuándo y cómo utilizar tipos de datos inmutables en Python para escribir código de alta calidad.

Continúa aprendiendo en KeepCoding

Si estás interesado en aprender más sobre la inmutabilidad en las listas de Python y la programación en general, considera unirte al Desarrollo Web Full Stack Bootcamp de KeepCoding. En este bootcamp, no solo aprenderás sobre Python, sino también sobre una amplia gama de tecnologías y conceptos de desarrollo web. Al finalizar el bootcamp, estarás preparado para ingresar al emocionante y lucrativo sector tecnológico. ¡Anímate a transformar tu futuro y únete!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado