Listas, Tuplas y Diccionarios

 

1. Listas

Una lista es una colección ordenada y modificable. Se define con corchetes [].

frutas = ["manzana", "pera", "naranja"]

Características

  • Ordenadas

  • Mutables (se pueden modificar)

  • Permiten elementos duplicados

Operaciones comunes

frutas.append("kiwi") # Añadir
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 ().

coordenadas = (40.4, -3.7)

Características

  • Ordenadas

  • Inmutables

  • Más rápidas y ligeras que las listas

  • Útiles para datos que no deben cambiar

Ejemplo

dias = ("lunes", "martes", "miércoles")
print(dias[0])

3. Diccionarios

Un diccionario almacena pares clave: valor. Se define con llaves {}.

persona = {
    "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

print(persona["nombre"]) # Acceder
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

  1. Crear tres productos usando diccionarios.

  2. Guardarlos en una lista.

  3. Mostrar todos los productos en formato tabla.

  4. Añadir un nuevo producto.

  5. Actualizar el stock de un producto existente.

  6. Calcular el valor total del inventario.

Pista

  • Usa diccionarios para cada producto

  • Usa una lista para almacenarlos

  • Recorre la lista con un for

  • Para el valor total: precio × stock

Solución propuesta

# 1. Crear productos
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} €")