Dada una lista y un diccionario, asigne cada elemento de la lista con cada elemento del diccionario, formando un diccionario anidado como valor.
Entrada : test_dict = {‘Gfg’: 4, ‘best’: 9}, test_list = [8, 2]
Salida : {8: {‘Gfg’: 4}, 2: {‘best’: 9}}
Explicación : Emparejamiento clave-valor de índice de la lista [8] para dictar {‘Gfg’: 4} y así sucesivamente.Entrada : test_dict = {‘Gfg’: 4}, test_list = [8]
Salida : {8: {‘Gfg’: 4}}
Explicación : Emparejamiento de clave-valor por índice de la lista [8] para dictar {‘Gfg’ : 4}.
Método #1: Usar loop + zip()
Esta es una de las formas en que se puede realizar esta tarea. En esto, combinamos ambas listas usando zip() y loop se usa para hacer iteraciones de claves comprimidas y construcción de diccionarios.
Python3
# Python3 code to demonstrate working of # Nested Dictionary with List # Using loop + zip() # initializing dictionary and list test_dict = {'Gfg' : 4, 'is' : 5, 'best' : 9} test_list = [8, 3, 2] # printing original dictionary and list print("The original dictionary is : " + str(test_dict)) print("The original list is : " + str(test_list)) # using zip() and loop to perform # combining and assignment respectively. res = {} for key, ele in zip(test_list, test_dict.items()): res[key] = dict([ele]) # printing result print("The mapped dictionary : " + str(res))
The original dictionary is : {'Gfg': 4, 'is': 5, 'best': 9} The original list is : [8, 3, 2] The mapped dictionary : {8: {'Gfg': 4}, 3: {'is': 5}, 2: {'best': 9}}
Método #2: Usando la comprensión del diccionario + zip()
Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos una tarea similar al método anterior, pero en una sola línea usando la comprensión del diccionario
Python3
# Python3 code to demonstrate working of # Nested Dictionary with List # Using dictionary comprehension + zip() # initializing dictionary and list test_dict = {'Gfg' : 4, 'is' : 5, 'best' : 9} test_list = [8, 3, 2] # printing original dictionary and list print("The original dictionary is : " + str(test_dict)) print("The original list is : " + str(test_list)) # zip() and dictionary comprehension mapped in one liner to solve res = {idx: {key : test_dict[key]} for idx, key in zip(test_list, test_dict)} # printing result print("The mapped dictionary : " + str(res))
The original dictionary is : {'Gfg': 4, 'is': 5, 'best': 9} The original list is : [8, 3, 2] The mapped dictionary : {8: {'Gfg': 4}, 3: {'is': 5}, 2: {'best': 9}}
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