Dado un diccionario, extraiga todos los elementos que coincidan con los valores dados en la lista
Ejemplo:
Entrada : test_dict = {“Gfg”: 3, “is”: 5, “for”: 8, “Geeks”: 10, “Best”: 16 }, sub_list = [5, 4, 10, 20, 16, 8 ]
Salida : {‘es’: 5, ‘Geeks’: 10, ‘Mejor’: 16, «para»: 8}
Explicación : todos los valores que coinciden con los valores de la lista se extraen junto con las claves.Entrada : test_dict = {“Gfg”: 3, “is”: 5, “for”: 8, “Geeks”: 10, “Best”: 16 }, sub_list = [5, 4, 10]
Salida : {‘is ‘: 5, ‘Geeks’: 10}
Explicación : todos los valores que coinciden con los valores de la lista se extraen junto con las claves.
Método 1: usar un bucle
El uso de un ‘bucle for’ es una de las formas en que se puede realizar esta tarea. En esto, iteramos todas las claves y verificamos si el valor está presente en una lista personalizada, si es así, entonces se devuelve.
Python3
# initializing dictionary test_dict = {"Gfg": 3, "is": 5, "for": 8, "Geeks": 10, "Best": 16} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing list sub_list = [5, 4, 10, 20, 16] # Using loop to perform iteration res = dict() for key in test_dict: if test_dict[key] in sub_list: res[key] = test_dict[key] # printing result print("Extracted items : " + str(res))
Producción:
El diccionario original es: {‘Gfg’: 3, ‘is’: 5, ‘for’: 8, ‘Geeks’: 10, ‘Best’: 16}
Elementos extraídos: {‘is’: 5, ‘Geeks’: 10, ‘Mejor’: 16}
Método 2: usar la comprensión del diccionario
Esta es una línea con la ayuda de la cual se puede realizar esta tarea. En esto, iteramos para todas las claves utilizando la comprensión del diccionario en un enfoque de una sola línea.
Python3
# initializing dictionary test_dict = {"Gfg": 3, "is": 5, "for": 8, "Geeks": 10, "Best": 16} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing list sub_list = [5, 4, 10, 20, 16] # dictionary comprehension to compile logic in one dictionary # in operator used to check value existence res = {key: val for key, val in test_dict.items() if val in sub_list} # printing result print("Extracted items : " + str(res))
Producción:
El diccionario original es: {‘Gfg’: 3, ‘is’: 5, ‘for’: 8, ‘Geeks’: 10, ‘Best’: 16}
Elementos extraídos: {‘is’: 5, ‘Geeks’: 10, ‘Mejor’: 16}
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