Estructuras de datos en Python
Estructuras de datos en Python
Te explico las tres estructuras de datos fundamentales en Python:
📋 Listas (Lists)
¿Qué son?
Las listas son colecciones ordenadas y mutables de elementos.
Características:
Ordenadas: Mantienen el orden de inserción
Mutables: Puedes modificar, añadir o eliminar elementos
Permiten duplicados: Puedes tener elementos repetidos
Indexadas: Accedes a elementos por posición (índice)
Sintaxis:
mi_lista = [elemento1, elemento2, elemento3]Ejemplos:
# Crear una lista
frutas = ["manzana", "banana", "naranja"]
numeros = [1, 2, 3, 4, 5]
mixta = [1, "hola", 3.14, True]
# Acceder a elementos
print(frutas[0]) # "manzana" (primer elemento)
print(frutas[-1]) # "naranja" (último elemento)
# Modificar elementos
frutas[1] = "uva" # Cambia "banana" por "uva"
# Métodos útiles
frutas.append("kiwi") # Añadir al final
frutas.insert(1, "mango") # Insertar en posición
frutas.remove("naranja") # Eliminar elemento
ultimo = frutas.pop() # Eliminar y devolver el último📚 Diccionarios (Dictionaries)
¿Qué son?
Colecciones de pares clave-valor, no ordenadas (hasta Python 3.7+, mantienen orden de inserción).
Características:
Clave-Valor: Cada elemento tiene una clave única y un valor
No indexados por posición: Accedes por clave, no por índice numérico
Mutables: Puedes modificar, añadir o eliminar elementos
Claves únicas: No puede haber claves duplicadas
Sintaxis:
mi_diccionario = {
"clave1": valor1,
"clave2": valor2
}Ejemplos:
# Crear un diccionario
persona = {
"nombre": "Ana",
"edad": 25,
"ciudad": "Madrid"
}
# Acceder a valores
print(persona["nombre"]) # "Ana"
print(persona.get("edad")) # 25
# Modificar y añadir
persona["edad"] = 26 # Modificar valor existente
persona["profesion"] = "Ingeniera" # Añadir nuevo par clave-valor
# Métodos útiles
claves = persona.keys() # Obtener todas las claves
valores = persona.values() # Obtener todos los valores
pares = persona.items() # Obtener pares clave-valor
# Recorrer un diccionario
for clave, valor in persona.items():
print(f"{clave}: {valor}")🎯 Conjuntos (Sets)
¿Qué son?
Colecciones no ordenadas de elementos únicos.
Características:
No ordenados: No mantienen un orden específico
Elementos únicos: No permite duplicados
Mutables: Puedes añadir o eliminar elementos
No indexados: No puedes acceder por posición
Sintaxis:
mi_conjunto = {elemento1, elemento2, elemento3}Ejemplos:
# Crear un conjunto
colores = {"rojo", "azul", "verde"}
numeros = {1, 2, 3, 4, 5}
# Los conjuntos eliminan automáticamente duplicados
duplicados = {1, 2, 2, 3, 3, 3}
print(duplicados) # {1, 2, 3}
# Operaciones de conjuntos
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
print(A | B) # Unión: {1, 2, 3, 4, 5, 6}
print(A & B) # Intersección: {3, 4}
print(A - B) # Diferencia: {1, 2}
print(A ^ B) # Diferencia simétrica: {1, 2, 5, 6}
# Métodos útiles
colores.add("amarillo") # Añadir elemento
colores.remove("rojo") # Eliminar elemento (error si no existe)
colores.discard("rosa") # Eliminar (no da error si no existe)📊 Resumen comparativo
| Característica | Listas | Diccionarios | Conjuntos |
|---|---|---|---|
| Orden | ✅ Mantienen orden | ✅ (3.7+) | ❌ No ordenados |
| Mutabilidad | ✅ | ✅ | ✅ |
| Duplicados | ✅ Permitidos | ❌ (en claves) | ❌ No permitidos |
| Acceso | Por índice | Por clave | No se accede por posición |
| Uso principal | Secuencias ordenadas | Datos con clave-valor | Elementos únicos, operaciones matemáticas |
¿Cuándo usar cada uno?
Listas: Cuando necesitas mantener un orden y pueden haber duplicados
Diccionarios: Cuando tienes datos que se identifican naturalmente con claves
Conjuntos: Cuando necesitas asegurar unicidad o hacer operaciones de conjuntos
¿Te gustaría que profundice en algún aspecto en particular?
Comentarios
Publicar un comentario