Tutoriales Interactivos
BlogIniciar sesiónComenzar gratis
Inicio›Blog›Python›Mutabilidad en Python: listas vs tuplas

Mutabilidad en Python: listas vs tuplas

En Python, algunos objetos pueden cambiar después de ser creados y otros no. Esta diferencia — mutabilidad vs inmutabilidad — explica por qué existen tanto las listas como las tuplas, y por qué importa entenderlas.

¿Qué es la mutabilidad?

Un objeto mutable puede cambiar su contenido después de ser creado. Un objeto inmutable no puede — si necesitas un valor diferente, debes crear un objeto nuevo.

Listas: mutables

Las listas se pueden modificar:

frutas = ["manzana", "pera", "uva"]

frutas[0] = "naranja"    # cambiar elemento
frutas.append("kiwi")    # agregar elemento
frutas.remove("pera")    # eliminar elemento

print(frutas)  # ['naranja', 'uva', 'kiwi']

Tuplas: inmutables

Las tuplas usan paréntesis () y no se pueden modificar:

coordenadas = (40.7128, -74.0060)

coordenadas[0] = 0  # TypeError: 'tuple' object does not support item assignment

Una vez creada, la tupla no cambia.

¿Para qué sirve cada una?

ListaTupla
Sintaxis[1, 2, 3](1, 2, 3)
MutableSíNo
UsoColecciones que cambianDatos fijos
EjemploLista de tareasCoordenadas GPS, fecha

Usa tuplas cuando los datos no deben cambiar — son más rápidas que las listas y comunican mejor la intención.

Strings también son inmutables

nombre = "ana"
nombre[0] = "A"  # TypeError — los strings no se pueden modificar

Para "modificar" un string, creas uno nuevo:

nombre = "ana"
nombre = nombre.capitalize()  # devuelve un nuevo string
print(nombre)  # Ana

El problema de las referencias

Esto sorprende a muchos principiantes:

lista_a = [1, 2, 3]
lista_b = lista_a       # ambas apuntan al mismo objeto

lista_b.append(4)

print(lista_a)  # [1, 2, 3, 4] — también cambió!

lista_b = lista_a no crea una copia — ambas variables apuntan al mismo objeto en memoria. Para hacer una copia real:

lista_b = lista_a.copy()   # copia superficial
lista_b = lista_a[:]       # otra forma de copiar

Ejemplo: cuándo elegir tupla

# Los meses del año no cambian → tupla
MESES = ("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
         "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")

# Las tareas del usuario cambian → lista
tareas = ["Estudiar", "Hacer ejercicio"]
tareas.append("Cocinar")

Errores frecuentes

Copiar una lista con =: nueva = original no es una copia — es una referencia al mismo objeto. Usa .copy() o [:].

Intentar modificar una tupla: Si necesitas modificar los datos, usa una lista. Si los datos son fijos, usa una tupla. Elegir el tipo correcto desde el principio evita errores.

Strings inmutables: Si esperas que texto[0] = "X" funcione, no lo hará. Los strings son inmutables igual que las tuplas.

Aprende haciendo, no solo leyendo

Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de Python y recibes corrección inmediata de IA.

Comenzar gratis →
Desafío Latam
+56 9 5117 7975
+52 1 55 4047 7251
[email protected]

Carreras

  • Full Stack JavaScript
  • Diseño UX/UI
  • Data Science
  • Data Analytics

Comunidad

  • Blog
  • Becas
  • Trabaja con Nosotros
  • Políticas de Calidad

Síguenos

© 2026 Desafío Latam. Todos los derechos reservados.