1 usuario conectado

Tipos y estructuras de datos en Python. Diccionarios

Comparte esto

Los diccionarios son otra estructura de datos fundamental en Python. A diferencia de las listas y las tuplas, que son secuencias ordenadas de elementos indexados por números, los diccionarios son colecciones desordenadas de pares clave-valor.

Creación de Diccionarios:

Hay varias formas de crear diccionarios en Python:

  1. Usando llaves {}: Se encierran los pares clave-valor separados por comas. Cada par clave-valor consiste en una clave seguida de dos puntos (:) y luego el valor.

    Python
     
    diccionario_vacio = {}
    diccionario_persona = {"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}
    diccionario_precios = {"manzana": 1.50, "banana": 0.75, "cereza": 2.25}
    diccionario_mixto = {1: "uno", "dos": 2, 3.14: "pi"}
    
  2. Usando la función dict(): Se puede crear un diccionario a partir de otros objetos (como listas de tuplas de pares clave-valor) o con argumentos de palabras clave.

    Python
     
    lista_de_tuplas = [("nombre", "Ana"), ("edad", 25), ("profesion", "Ingeniera")]
    diccionario_desde_lista = dict(lista_de_tuplas)  # {'nombre': 'Ana', 'edad': 25, 'profesion': 'Ingeniera'}
    
    diccionario_con_kwargs = dict(nombre="Pedro", edad=40, pais="España")
    # {'nombre': 'Pedro', 'edad': 40, 'pais': 'España'}
     

    **kwargs en breve:

    • Permite a una función recibir un número variable de argumentos con nombre (palabras clave).
    • Estos argumentos se empaquetan automáticamente en un diccionario dentro de la función.
    • Las claves del diccionario son los nombres de los argumentos, y los valores son sus respectivos valores.
    • Es útil para funciones con muchas opciones o para pasar argumentos con nombre a otras funciones de forma flexible.
    • La convención de nombre es kwargs, pero cualquier nombre con ** funciona.
    
    

Acceso a Elementos:

Los elementos de un diccionario se acceden utilizando su clave (en lugar de un índice).

  1. Usando corchetes []: Se coloca la clave dentro de los corchetes. Si la clave no existe en el diccionario, se genera un KeyError.

    Python
     
    persona = {"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}
    nombre = persona["nombre"]  # "Juan"
    edad = persona["edad"]      # 30
    
    # Intentar acceder a una clave inexistente generará un error:
    # profesion = persona["profesion"]  # KeyError: 'profesion'
    
  2. Usando el método get(clave, valor_por_defecto): Este método devuelve el valor asociado a la clave. Si la clave no existe, devuelve None por defecto, o el valor_por_defecto que se proporcione. Esto es una forma más segura de acceder a los elementos sin correr el riesgo de un KeyError.

    Python
     
    persona = {"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}
    profesion = persona.get("profesion")  # None
    idioma = persona.get("idioma", "Desconocido")  # "Desconocido"
    

Manipulación de Diccionarios:

Los diccionarios son mutables, lo que significa que puedes cambiar su contenido después de crearlos.

  1. Añadir nuevos pares clave-valor: Simplemente asigna un valor a una nueva clave.

    Python
     
    persona = {"nombre": "Juan", "edad": 30}
    persona["profesion"] = "Programador"
    print(persona)  # {'nombre': 'Juan', 'edad': 30, 'profesion': 'Programador'}
    
  2. Modificar valores existentes: Asigna un nuevo valor a una clave existente.

    Python
     
    persona = {"nombre": "Juan", "edad": 30}
    persona["edad"] = 31
    print(persona)  # {'nombre': 'Juan', 'edad': 31}
    
  3. Eliminar pares clave-valor:

Métodos de Diccionarios:

Python ofrece varios métodos útiles para trabajar con diccionarios:

Características Importantes de las Claves:

Los diccionarios son extremadamente útiles para almacenar y acceder a datos relacionados mediante claves significativas, lo que los hace fundamentales para muchas tareas de programación.