python-diccionarios

Qué son y como usar los Diccionarios en Python

Un diccionario es una colección no ordenada de pares clave-valor. Las claves son únicas e inmutables, mientras que los valores pueden ser de cualquier tipo y pueden ser modificados.

Características de los diccionarios:

  • Claves únicas: Cada clave en un diccionario es única, lo que significa que no puede haber claves duplicadas
  • Mutabilidad de valores: Los valores de un diccionario pueden ser modificados después de la creación
  • Desordenados: Aunque los diccionarios mantienen el orden de inserción a partir de Python 3.7, no se debe confiar en el orden

Creación de un diccionario

Los diccionarios en Python se definen utilizando llaves {} y los pares clave-valor se separan por dos puntos :. Por ejemplo, la sintaxis sería así,

mi_diccionario = {
    "clave1": valor1,
    "clave2": valor2,
    "clave3": valor3
}

Donde clave1, clave2 y clave3 son las claves que se utilizarán para acceder a los valores correspondientes.

Por ejemplo, asi.

mi_diccionario = {"nombre": "Luis", "altura": 30, "profesion": "Ingeniero"}

En este ejemplo, mi_diccionario es un diccionario con tres pares clave-valor: - nombre con el valor “Luis”

  • edad con el valor 30
  • profesion con el valor “Ingeniero”

Operaciones con diccionarios

Acceso a elementos

Para acceder a los valores de un diccionario, se utiliza la clave correspondiente de la siguiente manera:

print(mi_diccionario["nombre"])  # Resultado: Luis
print(mi_diccionario["edad"])  # Resultado: 30

Modificación de elementos

Para modificar un diccionario, simplemente se asigna un nuevo valor a una clave existente o se agrega una nueva clave-valor de la siguiente manera:

mi_diccionario["clave1"] = nuevo_valor
mi_diccionario["nueva_clave"] = nuevo_valor

Agregar elementos

Para agregar un nuevo par clave-valor a un diccionario en Python, se puede utilizar la sintaxis mi_diccionario["nueva_clave"] = nuevo_valor.

mi_diccionario["ciudad"] = "Madrid"  # Agrega una nueva clave-valor

SI la clave ya existe en el diccionario, el valor asociado se sobre escribirá con el nuevo valor proporcionado (como hemos visto en el apartado anterior).

Verificar pertenencia de claves

Para verificar si una clave está presente en un diccionario, se puede utilizar la expresión in. Esta expresión devuelve True si la clave está presente en el diccionario y False si no lo está.

if "nombre" in mi_diccionario:
    print("La clave 'nombre' está presente en el diccionario.")

Obtener claves y valores

El método items() retorna una vista de los pares clave-valor del diccionario en forma de tuplas.

mi_diccionario = {"nombre": "Luis", "edad": 30, "ciudad": "Madrid"}
vista_items = mi_diccionario.items()  # Retorna una vista de los pares clave-valor
print(vista_items)  # Resultado: dict_items([('nombre', 'Luis'), ('edad', 30), ('ciudad', 'Madrid')])

Por otro lado, también disponemos de los métodos:

  • keys() devuelve una lista de todas las claves en el diccionario

  • values() que devuelve una lista de todos los valores

    claves = mi_diccionario.keys()  # Devuelve una lista de las claves
    valores = mi_diccionario.values()  # Devuelve una lista de los valores

Copia superficial del diccionario

El método copy() retorna una copia superficial del diccionario. Esto significa que se crea una nueva instancia de diccionario que contiene los mismos pares clave-valor que el diccionario original.

mi_diccionario = {"nombre": "Luis", "edad": 30, "ciudad": "Madrid"}
copia_diccionario = mi_diccionario.copy()  # Crea una copia superficial del diccionario

print(copia_diccionario)  # Resultado: {"nombre": "Luis", "edad": 30, "ciudad": "Madrid"}

Ojito que la copia es superficial. Si los valores del diccionario son referencias, los valores de la copia apuntarán a los mismos objetos.

Eliminar elementos

Hay varias formas de eliminar elementos de un diccionario en Python. Se puede utilizar la declaración del seguida del nombre de la clave para eliminar la clave y su valor correspondiente.

Alternativamente, el método pop() también puede ser utilizado para eliminar una clave específica y devolver su valor.

del mi_diccionario["profesion"]  # Elimina una clave y su valor
valor_eliminado = mi_diccionario.pop("edad")  # Elimina y devuelve el valor de una clave

Eliminar todos los elementos del diccionario

El método clear() se utiliza para eliminar todos los elementos del diccionario, dejándolo vacío.

mi_diccionario = {"nombre": "Luis", "edad": 30, "ciudad": "Madrid"}
mi_diccionario.clear()  # Elimina todos los elementos del diccionario
print(mi_diccionario)  # Resultado: {}