En Python, las estructuras de datos son formas de organizar y almacenar conjuntos de datos en memoria para poder consultarlos, modificarlos y procesarlos de forma eficiente según el problema que queremos resolver.
A continuación se listan los cuatro tipos de estructuras de datos básicas que ofrece Python de serie, aunque profudizaremos en los dos primeros (listas y diccionarios).
Listas (
list): colecciones de elementos ordenadas (guardan el orden de inserción) y modificables (se pueden editar). Ppermiten añadir, eliminar o reordenar datos fácilmente, y son la estructura “todo terreno” más usada en Python.Ejemplos:
de_todo_un_poco = [1, "hola", 3.14, 6, "manzanas"]edades = [10, 45, 48, 7, 60]
Diccionarios (
dict): almacenan pares clave–valor. Son conjuntos ordendados y modificables (la clave no). Son ideales cuando queremos buscar información rápidamente a partir de una clave (por ejemplo, un DNI, un nombre de usuario, un código de producto, un país...).Ejemplos:
paispoblacion = {"China": 1444216107, "India": 1393409038, "Estados Unidos": 331002651}precios = {"manzana": 0.5, "banana": 0.3, "naranja": 0.7}
Tuplas (
tuple): similares a las listas ordenadas pero no modificables (inmutables); se utilizan cuando necesitamos agrupar datos que no deberían cambiar, como coordenadas o temperaturas recogidas que no deben modificarse.Ejemplos:
diassemana = ("lunes", "martes", "miércoles", "jueves", "viernes")coordenadas = (40.7128, -74.0060)(latitud y longitud de Nueva York)
Conjuntos (
set): colecciones desordenadas que no permiten elementos repetidos; resultan muy útiles para eliminar duplicados y para hacer operaciones de teoría de conjuntos como unión, intersección o diferencia.Ejemplos:
frutas = {"manzana", "banana", "naranja", "manzana"}(el conjunto resultante solo tendrá una “manzana”)numeros = {1, 2, 3, 4, 5}
A continuación tienes una tabla resumen que compara sus características más importantes:
| Estructura | Sintaxis | Tipo de colección | ¿Modificable? | ¿Ordenada? | ¿Permite duplicados? |
|---|---|---|---|---|---|
Lista (list) | [] | Secuencia de elementos separados por comas | Sí | Sí | Sí |
Diccionario (dict) | {} | Mapeo clave-valor | Claves: no, valores: sí | Sí | No en claves, sí en valores |
Tupla (tuple) | () | Secuencia inmutable | No | Sí | Sí |
Conjunto (set) | set() | Conjunto matemático | Sí (añadir/quitar) | No | No |