Python: cálculo de costos usando el diccionario de frecuencia y precio

Dado el diccionario de precio y frecuencia, calcule el costo total de los productos, es decir, sumando el producto del precio y la frecuencia de cada artículo.

Entrada : test_dict = {“Manzana”: 2, “Mango”: 2, “Uvas”: 2}, {“Manzana”: 2, “Mango”: 2, “Uvas”: 2}
Salida : 12
Explicación : (2 *2) + (2*2) + (2*2) = 12.

Entrada : test_dict = {“Manzana”: 3, “Mango”: 2, “Uvas”: 3}, {“Manzana”: 2, “Mango”: 2, “Uvas”: 2}
Salida : 16
Explicación : La suma de producto conduce a 16 como arriba.

Método #1: Usar bucle

Esta es la forma bruta en la que se puede realizar esta tarea. En esto, iteramos a través de todas las claves y multiplicamos la frecuencia de cada elemento por su costo y seguimos realizando la suma intermedia.

Python3

# Python3 code to demonstrate working of 
# Cost computation using Frequency and Price dictionary
# Using loop
  
# initializing dictionary
test_dict = {"Apple" : 5, "Mango" : 8, "Grapes" : 10}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing Frequency dict 
cost_dict = {"Apple" : 3, "Mango" : 4, "Grapes" : 6}
  
res = 0
for key in test_dict:
      
    # computing summation of product
    res = res + (test_dict[key] * cost_dict[key])
      
# printing result 
print("The extracted summation : " + str(res)) 
Producción

The original dictionary is : {'Apple': 5, 'Mango': 8, 'Grapes': 10}
The extracted summation : 107

Método #2: Usando sum() + comprensión de lista

La combinación de estas funcionalidades proporciona una forma abreviada de resolver este problema. En esto, realizamos la suma usando sum() y la comprensión de la lista se usa para compilar el resultado e iterar.

Python3

# Python3 code to demonstrate working of 
# Cost computation using Frequency and Price dictionary
# Using sum() + list comprehension
  
# initializing dictionary
test_dict = {"Apple" : 5, "Mango" : 8, "Grapes" : 10}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing Frequency dict 
cost_dict = {"Apple" : 3, "Mango" : 4, "Grapes" : 6}
  
# using list comprehension and sum() to provide one-liner
res = sum([cost_dict[key] * test_dict[key] for key in test_dict])
      
# printing result 
print("The extracted summation : " + str(res)) 
Producción

The original dictionary is : {'Apple': 5, 'Mango': 8, 'Grapes': 10}
The extracted summation : 107

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 *