Python: ¿cómo iterar sobre un diccionario anidado?

En este artículo, discutiremos cómo iterar sobre un diccionario anidado en Python.

Diccionario anidado significa diccionario dentro de un diccionario y vamos a ver todas las formas posibles de iterar sobre dicha estructura de datos. 

Diccionario anidado en uso:

{‘Estudiante 1’: {‘Nombre’: ‘Bobby’, ‘Id’: 1, ‘Edad’: 20}, 

‘Estudiante 2’: {‘Nombre’: ‘ojaswi’, ‘Id’: 2, ‘Edad’: 22}, 

‘Estudiante 3’: {‘Nombre’: ‘rohith’, ‘Id’: 3, ‘Edad’: 20}}

Para esto, usaremos for loop para iterar a través de un diccionario para obtener todos los valores clave de los diccionarios anidados.

Sintaxis:

for i in dictionary_name:
     print(dictionary_name[i])

dónde

  • nombre_diccionario es el diccionario de entrada
  • nombre_diccionario[i] es el valor para obtener diccionarios

Ejemplo : programa Python para obtener los diccionarios anidados de un diccionario

Python3

# create a nested dictionary with 3 
# fields of 3 students
data = {
    'Student 1': {'Name': 'Bobby', 'Id': 1, "Age": 20},
    'Student 2': {'Name': 'ojaswi', 'Id': 2, "Age": 22},
    'Student 3': {'Name': 'rohith', 'Id': 3, "Age": 20},
}
  
  
# iterate all the nested dictionaries with 
# both keys and values
for i in data:
     
    # display
    print(data[i])

Producción:

{'Name': 'Bobby', 'Id': 1, 'Age': 20}
{'Name': 'ojaswi', 'Id': 2, 'Age': 22}
{'Name': 'rohith', 'Id': 3, 'Age': 20}

También es posible obtener solo claves o valores si eso es lo que solicita el requisito. Nuevamente, para esto se emplea el bucle for con una pequeña variación.

Para obtener claves del diccionario anidado para cada iteración, se llama a la función keys().

Sintaxis:

data[i].keys()

Ejemplo: programa Python para obtener claves del diccionario anidado

Python3

# create a nested dictionary with 3 fields of 3 students
data = {
    'Student 1': {'Name': 'Bobby', 'Id': 1, "Age": 20},
    'Student 2': {'Name': 'ojaswi', 'Id': 2, "Age": 22},
    'Student 3': {'Name': 'rohith', 'Id': 3, "Age": 20},
}
  
  
# iterate all the nested dictionaries with keys
for i in data:
  # display
    print(data[i].keys())

Producción:

dict_values(['Bobby', 1, 20])
dict_values(['ojaswi', 2, 22])
dict_values(['rohith', 3, 20])

De manera similar, para obtener valores, después de cada iteración, se usa la función de valores() para realizar el trabajo.

Sintaxis:

data[i].values()

Ejemplo: programa Python para obtener valores del diccionario anidado

Python3

# create a nested dictionary with 3 fields of 3 students
data = {
    'Student 1': {'Name': 'Bobby', 'Id': 1, "Age": 20},
    'Student 2': {'Name': 'ojaswi', 'Id': 2, "Age": 22},
    'Student 3': {'Name': 'rohith', 'Id': 3, "Age": 20},
}
  
  
# iterate all the nested dictionaries with values
for i in data:
  # display
    print(data[i].values())

Producción:

dict_values(['Bobby', 1, 20])
dict_values(['ojaswi', 2, 22])
dict_values(['rohith', 3, 20])

Publicación traducida automáticamente

Artículo escrito por gottumukkalabobby y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *