A veces, mientras trabajamos con diccionarios, podemos tener problemas de utilidad en los que necesitamos realizar operaciones elementales entre las claves comunes de los diccionarios. Esto se puede extender a cualquier operación a realizar. Analicemos el producto de valores clave similares y las formas de resolverlo en este artículo.
Método #1: Uso de la comprensión del diccionario +keys()
La combinación de los dos anteriores se puede utilizar para realizar esta tarea en particular. Esta es solo una abreviatura del método más largo de bucles y se puede usar para realizar esta tarea en una línea.
# Python3 code to demonstrate working of # Dictionary Keys Product # Using dictionary comprehension + keys() # Initialize dictionaries test_dict1 = {'gfg' : 6, 'is' : 4, 'best' : 7} test_dict2 = {'gfg' : 10, 'is' : 6, 'best' : 10} # printing original dictionaries print("The original dictionary 1 : " + str(test_dict1)) print("The original dictionary 2 : " + str(test_dict2)) # Using dictionary comprehension + keys() # Dictionary Keys Product res = {key: test_dict2[key] * test_dict1.get(key, 0) for key in test_dict2.keys()} # printing result print("The product dictionary is : " + str(res))
The original dictionary 1 : {'best': 7, 'is': 4, 'gfg': 6} The original dictionary 2 : {'best': 10, 'is': 6, 'gfg': 10} The product dictionary is : {'best': 70, 'is': 24, 'gfg': 60}
Método #2: Usar el Counter()
operador + “*”
La combinación del método anterior se puede usar para realizar esta tarea en particular. En esto, la función Contador convierte el diccionario en la forma en que el operador menos puede realizar la tarea de multiplicación.
# Python3 code to demonstrate working of # Dictionary Keys Product # Using Counter() + "*" operator from collections import Counter # Initialize dictionaries test_dict1 = {'gfg' : 6, 'is' : 4, 'best' : 7} test_dict2 = {'gfg' : 10, 'is' : 6, 'best' : 10} # printing original dictionaries print("The original dictionary 1 : " + str(test_dict1)) print("The original dictionary 2 : " + str(test_dict2)) # Using Counter() + "*" operator # Dictionary Keys Product temp1 = Counter(test_dict1) temp2 = Counter(test_dict2) res = Counter({key : temp1[key] * temp2[key] for key in temp1}) # printing result print("The product dictionary is : " + str(dict(res)))
The original dictionary 1 : {'best': 7, 'is': 4, 'gfg': 6} The original dictionary 2 : {'best': 10, 'is': 6, 'gfg': 10} The product dictionary is : {'best': 70, 'is': 24, 'gfg': 60}
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