Estructuras de Datos en Python

 

8. Estructuras de Datos: Colecciones de Información

📋 1. Listas ([ ])

Son colecciones ordenadas y mutables (se pueden cambiar).

  • Uso en SMR: Una lista de direcciones IP de una subred o una lista de nombres de usuarios para crear en Active Directory.

  • Operaciones clave: append() (añadir al final), remove() (quitar), len() (saber cuántos hay).

🔒 2. Tuplas (( ))

Son colecciones ordenadas pero inmutables (no se pueden cambiar una vez creadas).

  • Uso en SMR: Datos que no deben variar durante la ejecución, como las coordenadas de un servidor, una dirección MAC fija o la configuración de puertos por defecto (80, 443, 21).

📖 3. Diccionarios ({key: value})

Colecciones no ordenadas que guardan pares de Clave y Valor.

  • Uso en SMR: Es la estructura más potente para sistemas. Permite guardar toda la información de un equipo: {'hostname': 'SRV-WEB', 'ip': '192.168.1.10', 'so': 'Ubuntu'}.

  • Acceso: Se busca por la clave, no por la posición.

🧺 4. Conjuntos o Sets ({ })

Colecciones de elementos únicos y sin orden.

  • Uso en SMR: Eliminar duplicados de un listado de logs o comparar qué usuarios están en un grupo pero no en otro.


💡 Ejemplo comparativo: ¿Cuándo usar cada una?

Python
# LISTA: Inventario de cables (puedo añadir o quitar)
cables = ["RJ45", "Fibra", "HDMI"]

# TUPLA: Configuración del servidor (no debe cambiar)
server_config = ("192.168.1.1", 8080)

# DICCIONARIO: Ficha técnica de un PC
pc_01 = {"CPU": "i5", "RAM": "16GB", "SSD": "500GB"}

# CONJUNTO: IPs que han intentado acceder (sin repetidas)
ips_detectadas = {"10.0.0.1", "10.0.0.2", "10.0.0.1"} # El duplicado desaparece

🛠️ Actividad práctica

  1. Gestor de Inventario (Listas):

    • Crea una lista llamada perifericos con 3 elementos.

    • Pide al usuario que introduzca uno nuevo mediante input() y añádelo con append().

    • Muestra la lista ordenada alfabéticamente y di cuántos elementos tiene en total.

  2. Base de Datos de Equipos (Diccionarios):

    • Crea un diccionario llamado servidor que contenga: nombre, ip, y servicio (ej: "Web", "DNS").

    • Imprime solo la IP del servidor.

    • Modifica el servicio a "Base de Datos" y añade una nueva clave llamada estado con el valor "Activo".

  3. Filtro de Seguridad (Sets):

    • Tienes esta lista de IPs que han accedido al servidor: ["192.168.1.1", "192.168.1.5", "192.168.1.1", "192.168.1.10", "192.168.1.5"].

    • Conviértela a un Set para eliminar las repetidas e imprime el resultado.

    • Explica por qué es útil esto para un administrador de sistemas.