En Python, a veces necesitamos obtener solo algunas de las claves del diccionario y no todas. Este problema es bastante común en el desarrollo web y requerimos obtener solo las claves de diccionario selectivas de alguna lista dada. Analicemos ciertas formas en que se puede resolver este problema.
Método #1: Uso de la comprensión de
listas La comprensión de listas puede usarse para resolver este problema en particular. Esta es solo la forma abreviada de realizarlo en lugar de escribir un bucle.
# Python3 code to demonstrate # getting selective dictionary keys # using list comprehension # initializing dictionary test_dict = {"Akash" : 1, "Akshat" : 2, "Nikhil" : 3, "Manjeet" : 4} # initializing selective list keys select_list = ['Manjeet', 'Nikhil'] # printing original dictionary print ("The original dictionary is : " + str(test_dict)) # printing selective list print ("The selective list is : " + str(select_list)) # using list comprehension # getting selective dictionary keys res = [test_dict[i] for i in select_list if i in test_dict] # printing result print ("The selected values from list keys is : " + str(res))
El diccionario original es: {‘Nikhil’: 3, ‘Akshat’: 2, ‘Manjeet’: 4, ‘Akash’: 1}
La lista selectiva es: [‘Manjeet’, ‘Nikhil’]
Los valores seleccionados de las claves de lista es: [4, 3]
Método #2: Usarset.intersection()
Este es el método más elegante en el que se puede realizar esta tarea. La propiedad de intersección de los conjuntos puede dar las claves comunes que se pueden extraer y luego se pueden calcular los valores.
# Python3 code to demonstrate # getting selective dictionary keys # using set.intersection() # initializing dictionary test_dict = {"Akash" : 1, "Akshat" : 2, "Nikhil" : 3, "Manjeet" : 4} # initializing selective list keys select_list = ['Manjeet', 'Nikhil'] # printing original dictionary print ("The original dictionary is : " + str(test_dict)) # printing selective list print ("The selective list is : " + str(select_list)) # using set.intersection() # getting selective dictionary keys temp = list(set(select_list).intersection(test_dict)) res = [test_dict[i] for i in temp] # printing result print ("The selected values from list keys is : " + str(res))
El diccionario original es: {‘Akshat’: 2, ‘Manjeet’: 4, ‘Nikhil’: 3, ‘Akash’: 1}
La lista selectiva es: [‘Manjeet’, ‘Nikhil’]
Los valores seleccionados de las claves de lista es: [4, 3]
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