Python: producto de dos claves de diccionario

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))
Producción :

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)))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *