1. Listas
Una lista es una colección ordenada y modificable.
Se define con corchetes [].
Características
Ordenadas
Mutables (se pueden modificar)
Permiten elementos duplicados
Operaciones comunes
frutas.remove("pera") # Eliminar
frutas[0] = "melón" # Modificar
print(frutas[1]) # Acceder
2. Tuplas
Una tupla es una colección ordenada pero inmutable.
Se define con paréntesis ().
Características
Ordenadas
Inmutables
Más rápidas y ligeras que las listas
Útiles para datos que no deben cambiar
Ejemplo
print(dias[0])
3. Diccionarios
Un diccionario almacena pares clave: valor.
Se define con llaves {}.
"nombre": "Ana",
"edad": 25,
"ciudad": "Madrid"
}
Características
No ordenados (aunque desde Python 3.7 mantienen orden de inserción)
Mutables
Acceso por clave
Operaciones comunes
persona["edad"] = 26 # Modificar
persona["email"] = "ana@mail.com" # Añadir
del persona["ciudad"] # Eliminar
ACTIVIDAD PRÁCTICA: “Gestor simple de inventario”
Objetivo: combinar listas, tuplas y diccionarios en un ejercicio útil para FP.
Enunciado
Vas a crear un pequeño sistema de inventario para una tienda. Cada producto tendrá:
ID (entero)
Nombre (string)
Precio (float)
Stock (entero)
Los productos se almacenarán en una lista de diccionarios.
Tareas
Crear tres productos usando diccionarios.
Guardarlos en una lista.
Mostrar todos los productos en formato tabla.
Añadir un nuevo producto.
Actualizar el stock de un producto existente.
Calcular el valor total del inventario.
Pista
Usa diccionarios para cada producto
Usa una lista para almacenarlos
Recorre la lista con un
forPara el valor total: precio × stock
Solución propuesta
p1 = {"id": 1, "nombre": "Teclado", "precio": 19.99, "stock": 10}
p2 = {"id": 2, "nombre": "Ratón", "precio": 12.50, "stock": 25}
p3 = {"id": 3, "nombre": "Monitor", "precio": 129.90, "stock": 5}
# 2. Guardarlos en una lista
inventario = [p1, p2, p3]
# 3. Mostrar productos
print("ID | Nombre | Precio | Stock")
print("-------------------------------")
for prod in inventario:
print(f"{prod['id']} | {prod['nombre']} | {prod['precio']}€ | {prod['stock']}")
# 4. Añadir un nuevo producto
nuevo = {"id": 4, "nombre": "USB 32GB", "precio": 7.99, "stock": 50}
inventario.append(nuevo)
# 5. Actualizar stock (ej: producto con id=2)
for prod in inventario:
if prod["id"] == 2:
prod["stock"] += 10
# 6. Calcular valor total del inventario
total = 0
for prod in inventario:
total += prod["precio"] * prod["stock"]
print(f"\nValor total del inventario: {total:.2f} €")