A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos extraer todos los elementos del diccionario que constituyen todos los elementos de una lista. Este tipo de problema puede ocurrir en dominios como la programación competitiva y el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_dict = {‘gfg’: [4, 6, 10], ‘is’: [12]}
Salida : {‘gfg’: [4, 6, 10]}
Entrada : test_dict = {‘gfg’: [ 4, 6, 10]}
Salida : {‘gfg’: [4, 6, 10]}
Método #1: Usar set() + comprensión de diccionario + items()
La combinación de las funcionalidades anteriores se puede usar para resolver este problema. En esto, primero reducimos los elementos de la lista para eliminar los duplicados, extraemos los elementos del diccionario usando items() y la construcción del diccionario requerido ocurre usando la comprensión del diccionario.
Python3
# Python3 code to demonstrate working of # Extract dictionary items with List elements # Using set() + dictionary comprehension + items() # helpr_fnc def hlper_fnc(req_list, test_dict): temp = set(req_list) temp2 = { key: set(val) for key, val in test_dict.items() } return { key: val for key, val in test_dict.items() if temp2[key].issubset(temp)} # initializing dictionary test_dict = {'gfg' : [4, 6], 'is' : [10], 'best' : [4, 5, 7]} # printing original dictionary print("The original dictionary : " + str(test_dict)) # initializing req_list req_list = [4, 6, 10] # Extract dictionary items with List elements # Using set() + dictionary comprehension + items() res = hlper_fnc(req_list, test_dict) # printing result print("The extracted dictionary: " + str(res))
El diccionario original: {‘is’: [10], ‘best’: [4, 5, 7], ‘gfg’: [4, 6]}
El diccionario extraído: {‘is’: [10], ‘gfg ‘: [4, 6]}
Método #2: Usar all() + comprensión del diccionario
La combinación de las funciones anteriores se puede usar para resolver este problema. Esta es una solución de una sola línea y usa all() para verificar la membresía de los elementos para decidir la filtración. La comprensión del diccionario realiza la tarea de construcción del diccionario.
Python3
# Python3 code to demonstrate working of # Extract dictionary items with List elements # Using all() + dictionary comprehension # initializing dictionary test_dict = {'gfg' : [4, 6], 'is' : [10], 'best' : [4, 5, 7]} # printing original dictionary print("The original dictionary : " + str(test_dict)) # initializing req_list req_list = [4, 6, 10] # Extract dictionary items with List elements # Using all() + dictionary comprehension res = {key: val for key, val in test_dict.items() if all(vals in req_list for vals in val)} # printing result print("The extracted dictionary: " + str(res))
The original dictionary : {'is': [10], 'best': [4, 5, 7], 'gfg': [4, 6]} The extracted dictionary: {'is': [10], 'gfg': [4, 6]}
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