Python: claves asociadas con valores en el diccionario

A veces, mientras trabajamos con diccionarios de Python, podemos tener problemas en los que necesitamos reformar el diccionario, de forma que todos los valores apunten a las claves a las que pertenecen. Este tipo de problema puede ocurrir en muchos dominios, incluidos el desarrollo web y los dominios de datos. Vamos a discutir cierta forma en que se puede realizar esta tarea.

Entrada: test_dict = {‘abc’: [10, 30], ‘bcd’: [30, 40, 10]}
Salida: {10: [‘abc’, ‘bcd’], 30: [‘abc’, ‘ bcd’], 40: [‘bcd’]}

Entrada: test_dict = {‘gfg’: [1, 2, 3], ‘es’: [1, 4], ‘mejor’: [4, 2]}
Salida: {1: [‘es’, ‘gfg’ ], 2: [‘gfg’, ‘mejor’], 3: [‘gfg’], 4: [‘es’, ‘mejor’]}

Método: Uso defaultdict()del bucle +
La combinación de las funcionalidades anteriores puede resolver este problema. En esto, creamos el dictado predeterminado de la lista e insertamos el elemento comprobando la asociación dentro de la apariencia usando un enfoque de fuerza bruta.

# Python3 code to demonstrate working of 
# Values Associated Keys
# Using defaultdict() + loop
from collections import defaultdict
  
# initializing dictionary
test_dict = {'gfg' : [1, 2, 3], 'is' : [1, 4], 'best' : [4, 2]} 
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Values Associated Keys
# Using defaultdict() + loop
res = defaultdict(list)
for key, val in test_dict.items():
    for ele in val:
        res[ele].append(key)
  
# printing result 
print("The values associated dictionary : " + str(dict(res))) 
Producción :

The original dictionary is : {'is': [1, 4], 'gfg': [1, 2, 3], 'best': [4, 2]}
The values associated dictionary : {1: ['is', 'gfg'], 2: ['gfg', 'best'], 3: ['gfg'], 4: ['is', 'best']}

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *