Lista, tupla, set o diccionario en Python: diferencias

Publicado el: 11/07/2026
Tempo de leitura: 3 minutos
Logo do Python com símbolos de lista, tupla e dicionário

Python ofrece varias colecciones integradas, pero cada una resuelve un problema diferente. Elegir entre lista, tupla, set o diccionario en Python afecta la legibilidad, la posibilidad de modificar datos, el tratamiento de duplicados y la forma de buscar información.

En esta comparación aprenderás la sintaxis, las propiedades y los casos de uso de las cuatro estructuras. La referencia oficial de estructuras de datos de Python explica sus operaciones principales, mientras que la documentación de tipos integrados detalla su comportamiento.

Resumen rápido

TipoOrdenMutableDuplicadosAcceso principal
listÍndice
tupleNoÍndice
setNo debe dependerse de un orden fijoNoPertenencia
dictConserva inserciónClaves únicasClave

Listas: secuencias flexibles

tareas = ["estudiar", "programar", "revisar"]
tareas.append("publicar")
tareas[1] = "practicar Python"

print(tareas[0])
print(tareas[-1])

Una lista conserva el orden, acepta duplicados y puede modificarse. Es adecuada para una colección que crece, se reordena o se actualiza. La guía de listas en Python cubre métodos, slicing y copias.

Tuplas: registros que no deben cambiar

coordenada = (10.5, -3.2)
x, y = coordenada

print(x, y)

Una tupla es una secuencia ordenada e inmutable. Funciona bien para coordenadas, valores de configuración, resultados múltiples y registros cortos cuya estructura debe permanecer estable. Consulta la guía de tuplas en Python.

Sets: valores únicos y pertenencia

etiquetas = {"python", "datos", "python", "api"}
print(etiquetas)
print("python" in etiquetas)

Un set elimina duplicados y permite operaciones como unión, intersección y diferencia.

usuarios_a = {1, 2, 3, 4}
usuarios_b = {3, 4, 5}

print(usuarios_a & usuarios_b)  # intersección
print(usuarios_a | usuarios_b)  # unión
print(usuarios_a - usuarios_b)  # diferencia

La guía de sets en Python muestra estas operaciones con ejemplos prácticos.

Diccionarios: claves asociadas a valores

usuario = {
    "nombre": "Ana",
    "edad": 29,
    "activo": True,
}

print(usuario["nombre"])
usuario["correo"] = "[email protected]"

Un diccionario representa entidades, configuraciones, respuestas JSON y datos con campos nombrados. Las claves deben ser hashables y únicas. La guía de diccionarios en Python explica acceso seguro, bucles y estructuras anidadas.

Cómo elegir la estructura correcta

  • Usa una lista cuando el orden importa y los elementos pueden cambiar.
  • Usa una tupla cuando el orden importa, pero la estructura no debe modificarse.
  • Usa un set para valores únicos y búsquedas repetidas de pertenencia.
  • Usa un diccionario cuando cada valor necesita una clave descriptiva.

Ejemplo: procesar pedidos

pedidos = [
    {"id": 1, "cliente": "Ana", "estado": "pagado"},
    {"id": 2, "cliente": "Luis", "estado": "pendiente"},
    {"id": 3, "cliente": "Ana", "estado": "pagado"},
]

clientes = {pedido["cliente"] for pedido in pedidos}
ids = tuple(pedido["id"] for pedido in pedidos)
pagados = [
    pedido
    for pedido in pedidos
    if pedido["estado"] == "pagado"
]

print(clientes)
print(ids)
print(pagados)

El ejemplo combina una lista de diccionarios, un set para nombres únicos y una tupla para una secuencia estable de identificadores.

Pertenencia y rendimiento

La expresión valor in coleccion cambia según la estructura. En listas y tuplas normalmente recorre elementos; en sets y diccionarios aprovecha una tabla hash. Para muchas comprobaciones repetidas, un set o las claves de un diccionario suelen expresar mejor la intención. La guía del operador in en Python explica estas diferencias.

Mutabilidad y objetos anidados

Una tupla no permite reemplazar posiciones, pero puede contener objetos mutables:

registro = ([1, 2], "activo")
registro[0].append(3)
print(registro)

La tupla no cambió de elementos; cambió la lista almacenada dentro. Comprender esta diferencia evita suposiciones incorrectas sobre copias e inmutabilidad.

Comprensiones

numeros = range(10)

lista = [n * 2 for n in numeros]
conjunto = {n % 3 for n in numeros}
diccionario = {n: n ** 2 for n in numeros}

Las comprensiones crean listas, sets y diccionarios de forma concisa. No existe una comprensión de tuplas; los paréntesis producen una expresión generadora. La guía de list comprehensions amplía este patrón.

Errores frecuentes

  • Usar una lista para búsquedas repetidas cuando se necesita un set.
  • Esperar que un set conserve un orden de presentación estable.
  • Confundir una tupla de un elemento con un valor entre paréntesis: (5,).
  • Acceder a una clave inexistente sin considerar get().
  • Modificar una colección mientras se recorre.
  • Usar objetos mutables como claves de diccionario.

Conclusión

No existe una colección universalmente mejor. La lista destaca por su flexibilidad, la tupla comunica estabilidad, el set representa unicidad y el diccionario asocia claves con valores. Elegir la estructura que expresa la intención reduce código adicional y hace que los errores sean menos probables.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Contenido del artículo

    Artículos relacionados

    Código Python com valores Boolean True e False em tela de computador
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Booleanos en Python: True, False y lógica

    Aprende booleanos en Python con True, False, comparaciones, operadores lógicos, valores truthy y falsy, cortocircuito y validación.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Símbolo de repetição ao lado do logotipo do Python pensativo, representando o conceito de loops na programação em Python.
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Bucles en Python: for, while, break y continue

    Aprende bucles en Python con for, while, range, enumerate, zip, break, continue, else, validación y ejemplos prácticos.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Código Python mostrando uma função recursiva de fatorial com condição if e chamada da função dentro dela
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Recursión en Python: guía práctica con ejemplos

    Aprende recursión en Python con casos base, pila de llamadas, factorial, árboles, directorios, memoización, límites y alternativas iterativas.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Uso do operador in em Python para verificação em coleções
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Operador in en Python: pruebas de pertenencia

    Aprende a usar el operador in en Python con strings, listas, sets, diccionarios, rangos, generadores, not in y clases personalizadas.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Introdução ao Python para iniciantes
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    List comprehensions en Python: guía completa

    Aprende list comprehensions en Python con transformaciones, filtros, condiciones, bucles anidados, diccionarios, sets y generadores.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Leitura e escrita de arquivos CSV em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Archivos CSV en Python: leer, escribir y procesar

    Aprende a leer, escribir, filtrar y validar archivos CSV en Python con reader, writer, DictReader, DictWriter, UTF-8 y streaming.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026