Tenemos muchas variaciones y aplicaciones del contenedor de diccionario en Python y, a veces, deseamos realizar un filtro de claves en el diccionario, es decir, extraer solo las claves que están presentes en un contenedor en particular. Analicemos ciertas formas en que esto se puede realizar. Método n.º 1: usar la comprensión del diccionario + elements() Este problema se puede realizar mediante la reconstrucción utilizando las claves extraídas a través de la función de elementos que desea filtrar y la función del diccionario crea el diccionario deseado.
Python3
# Python3 code to demonstrate # Extracting specific keys from dictionary # Using dictionary comprehension + items() # initializing dictionary test_dict = {'nikhil' : 1, "akash" : 2, 'akshat' : 3, 'manjeet' : 4} # printing original list print("The original dictionary : " + str(test_dict)) # Using dictionary comprehension + items() # Extracting specific keys from dictionary res = {key: test_dict[key] for key in test_dict.keys() & {'akshat', 'nikhil'}} # print result print("The filtered dictionary is : " + str(res))
The original dictionary : {'manjeet': 4, 'akshat': 3, 'akash': 2, 'nikhil': 1} The filtered dictionary is : {'akshat': 3, 'nikhil': 1}
Método #2: Usar dict() La función dict se puede usar para realizar esta tarea convirtiendo la lógica realizada usando la comprensión de listas en un diccionario.
Python3
# Python3 code to demonstrate # Extracting specific keys from dictionary # Using dict() # initializing dictionary test_dict = {'nikhil' : 1, "akash" : 2, 'akshat' : 3, 'manjeet' : 4} # printing original list print("The original dictionary : " + str(test_dict)) # Using dict() # Extracting specific keys from dictionary res = dict((k, test_dict[k]) for k in ['nikhil', 'akshat'] if k in test_dict) # print result print("The filtered dictionary is : " + str(res))
C++
#include <iostream> using namespace std; int main() { cout<<"GFG!"; return 0; }
The original dictionary : {'manjeet': 4, 'akshat': 3, 'akash': 2, 'nikhil': 1} The filtered dictionary is : {'akshat': 3, 'nikhil': 1}
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