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:

python
mi_lista = [elemento1, elemento2, elemento3]

Ejemplos:

python
# 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-valorno 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:

python
mi_diccionario = {
    "clave1": valor1,
    "clave2": valor2
}

Ejemplos:

python
# 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:

python
mi_conjunto = {elemento1, elemento2, elemento3}

Ejemplos:

python
# 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ísticaListasDiccionariosConjuntos
Orden✅ Mantienen orden✅ (3.7+)❌ No ordenados
Mutabilidad
Duplicados✅ Permitidos❌ (en claves)❌ No permitidos
AccesoPor índicePor claveNo se accede por posición
Uso principalSecuencias ordenadasDatos con clave-valorElementos ú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

Entradas populares de este blog

¿Qué es un Closure?

Calculadora de edad

Funciones en Python: con y sin paréntesis