Volver a Python Básico

Diccionarios y Conjuntos

Los diccionarios almacenan pares clave-valor. Los conjuntos almacenan valores únicos sin orden.

Diccionarios

usuario = { "nombre": "Alice", "edad": 30, "correo": "[email protected]" } # Acceso print(usuario["nombre"]) # Alice print(usuario.get("telefono", "N/A")) # N/A (acceso seguro) # Modificar usuario["edad"] = 31 usuario["ciudad"] = "Ciudad de México" # Eliminar del usuario["correo"] eliminado = usuario.pop("ciudad", None)

Métodos de Diccionario

config = {"debug": True, "puerto": 8080, "host": "localhost"} config.keys() # dict_keys(['debug', 'puerto', 'host']) config.values() # dict_values([True, 8080, 'localhost']) config.items() # dict_items([('debug', True), ...]) # Iterar for clave, valor in config.items(): print(f"{clave} = {valor}") # Fusionar (Python 3.9+) predeterminados = {"timeout": 30, "reintentos": 3} fusionado = {**config, **predeterminados} # o: fusionado = config | predeterminados

Comprensiones de Diccionario

cuadrados = {x: x**2 for x in range(6)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25} # Con filtro grandes_cuadrados = {k: v for k, v in cuadrados.items() if v > 10}

Diccionarios Anidados

base_datos = { "usuarios": { "alice": {"rol": "admin", "activo": True}, "bob": {"rol": "visitante", "activo": False}, } } print(base_datos["usuarios"]["alice"]["rol"]) # admin

Conjuntos

colores = {"rojo", "verde", "azul"} colores.add("amarillo") colores.discard("rojo") # Sin error si no existe # Eliminar duplicados de una lista nums = [1, 2, 2, 3, 3, 4] unicos = set(nums) # {1, 2, 3, 4} # 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: {1, 2, 5, 6}

Buena práctica: Usa .get() en lugar del acceso directo ([]) cuando una clave podría no existir, para evitar KeyError.