Saltar a contenido

Métodos de diccionario en Python

Python ofrece una serie de métodos asociados a la estructura de diccionarios. Estos métodos permiten trabajar con diccionarios de manera rápida y eficiente. Veamos algunos ejemplos.

Ya que vivimos en un país futbolero, imaginemos que tenemos un diccionario con los nombres de los jugadores de la selección argentina y sus respectivas dorsales.

Crear un diccionario vacío

Lo primero que precisamos es crear el diccionario:

Python
# Creación del diccionario utilizando la función dict()
seleccion_argentina = dict()

O directamente:

Python
# Creación del diccionario utilizando la notación de claves
seleccion_argentina = {}

Crear un diccionario con valores iniciales

También podemos crear un diccionario con valores iniciales:

Python
# Creación del diccionario con valores iniciales
seleccion_argentina = {
    'Messi': 10,
    'Di María': 11,
    'Martínez': 22,
    'Paredes': 5,
    'Romero': 1
}

Agregar un elemento al diccionario

Para agregar un nuevo jugador al diccionario, simplemente asignamos un valor a una nueva clave:

Python
# Agregar un nuevo jugador al diccionario
seleccion_argentina['Acuña'] = 8

O podemos utilizar el método update():

Python
# Agregar un nuevo jugador al diccionario
seleccion_argentina.update({'Acuña': 8})

Eliminar un elemento del diccionario

Para eliminar un jugador del diccionario, utilizamos el método pop():

Python
# Eliminar un jugador del diccionario
seleccion_argentina.pop('Martínez')

Obtener el número de elementos del diccionario

Para obtener el número de elementos del diccionario, utilizamos la función len():

Python
# Diccionario
seleccion_argentina = {
    'Messi': 10,
    'Di María': 11,
    'Martínez': 22,
    'Paredes': 5,
    'Romero': 1
}

# Obtener el número de elementos del diccionario
print(len(seleccion_argentina))
Terminal(Entrada/Salida)
5

Obtener un elemento del diccionario

Para obtener el número de la camiseta de un jugador, simplemente accedemos al diccionario con la clave correspondiente:

Python
# Obtener el número de la camiseta de un jugador
print(seleccion_argentina['Messi'])
Terminal(Entrada/Salida)
10

O utilizar el método get():

Python
print(seleccion_argentina.get("Messi")) # Devuelve el valor de la clave Messi
print(seleccion_argentina.get("Ronaldo"))  # Devuelve "None", no existe "Ronaldo"
Terminal(Entrada/Salida)
10
None

Obtener todas las claves del diccionario

Para obtener todas las claves del diccionario, utilizamos el método keys():

Python
# Obtener todas las claves del diccionario
print(seleccion_argentina.keys())
Terminal(Entrada/Salida)
dict_keys(['Messi', 'Di María', 'Martínez', 'Paredes', 'Romero', 'Acuña'])

Recorrer el diccionario con un bucle a partir de las claves:

Python
for clave in seleccion_argentina.keys():    # Funciona igual que `for clave in seleccion_argentina:`
    print(clave, seleccion_argentina[clave])
Terminal(Entrada/Salida)
Messi 10
Di María 11
Martínez 22
Paredes 5
Romero 1
Acuña 8

Obtener todos los valores del diccionario

Para obtener todos los valores del diccionario, utilizamos el método values():

Python
# Obtener todos los valores del diccionario
print(seleccion_argentina.values())
Terminal(Entrada/Salida)
dict_values([10, 11, 22, 5, 1, 8])

Obtener todos los elementos del diccionario

Para obtener todos los elementos del diccionario, utilizamos el método items(). Este método devuelve una lista de tuplas, donde cada tupla contiene una clave y su valor correspondiente:

Python
# Obtener todos los elementos del diccionario
print(seleccion_argentina.items())
Terminal(Entrada/Salida)
dict_items([('Messi', 10), ('Di María', 11), ('Martínez', 22), ('Paredes', 5), ('Romero', 1), ('Acuña', 8)])

Recorrer el diccionario con un bucle a partir de las tuplas:

Python
for clave, valor in seleccion_argentina.items():
    print("El jugador", clave, "tiene la dorsal número", valor)
Terminal(Entrada/Salida)
El jugador Messi tiene la dorsal número 10
El jugador Di María tiene la dorsal número 11
El jugador Martínez tiene la dorsal número 22
El jugador Paredes tiene la dorsal número 5
El jugador Romero tiene la dorsal número 1
El jugador Acuña tiene la dorsal número 8

Verificar si una clave existe en el diccionario

Para verificar si un jugador está en el diccionario, utilizamos el operador de pertenencia in:

Python
# Verificar si un jugador está en el diccionario
print('Messi' in seleccion_argentina)
print('Ronaldo' in seleccion_argentina)
Terminal(Entrada/Salida)
True
False

Copiar un diccionario

Para copiar un diccionario, utilizamos el método copy():

Python
# Copiar el diccionario
seleccion_argentina = {
    'Messi': 10,
    'Di María': 11,
    'Martínez': 22,
    'Paredes': 5,
    'Romero': 1,
    'Acuña': 8
}

seleccion_argentina_copia = seleccion_argentina.copy()

# Verificar si el diccionario fue copiado
print("\nRealizamos una copia del diccionario: \n", seleccion_argentina_copia)
Terminal(Entrada/Salida)
Realizamos una copia del diccionario: 
 {'Messi': 10, 'Di María': 11, 'Martínez': 22, 'Paredes': 5, 'Romero': 1, 'Acuña': 8}

Unir dos diccionarios

Para unir dos diccionarios, también utilizamos el método update():

Python
# Unir dos diccionarios
seleccion_argentina = {
    'Messi': 10,
    'Di María': 11,
    'Martínez': 22,
    'Paredes': 5,
    'Romero': 1,
    'Acuña': 8
}

suplentes = {
    'Montiel': 4,
    'Álvarez': 9,
    'Rulli': 12,
    'Pezzella': 13,
    'Gómez': 17,
    'Otamendi': 19,
    'Lo Celso': 20,
    'Dybala': 21,
    'Armani': 23,
}

seleccion_argentina.update(suplentes)
print("\nAñadimos los elementos de un diccionario a otro: \n", seleccion_argentina)
Terminal(Entrada/Salida)
Añadimos los elementos de un diccionario a otro: 
 {'Messi': 10, 'Di María': 11, 'Martínez': 22, 'Paredes': 5, 'Romero': 1, 'Acuña': 8, 'Montiel': 4, 'Álvarez': 9, 'Rulli': 12, 'Pezzella': 13, 'Gómez': 17, 'Otamendi': 19, 'Lo Celso': 20, 'Dybala': 21, 'Armani': 23}

Limpiar el diccionario

Para limpiar el diccionario, utilizamos el método clear():

Python
# Limpiar el diccionario
seleccion_argentina.clear()

# Verificar si el diccionario está vacío
print(seleccion_argentina)
Terminal(Entrada/Salida)
{}