Skip to content
Related Articles

Related Articles

Python – Cost computation using Frequency and Price dictionary
  • Last Updated : 01 Aug, 2020

Given price and frequency dictionary, compute total cost of products, i.e by summing the product of price and frequency of each item.

Input : test_dict = {“Apple” : 2, “Mango” : 2, “Grapes” : 2}, {“Apple” : 2, “Mango” : 2, “Grapes” : 2}
Output : 12
Explanation : (2*2) + (2*2) + (2*2) = 12.

Input : test_dict = {“Apple” : 3, “Mango” : 2, “Grapes” : 3}, {“Apple” : 2, “Mango” : 2, “Grapes” : 2}
Output : 16
Explanation : The summation of product leads to 16 as above.

Method #1 : Using loop

This is brute way in which this task can be performed. In this, we iterate through all the keys and multiply the frequency of each element by its cost and keep performing intermediate summation.



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)) 
Output
The original dictionary is : {'Apple': 5, 'Mango': 8, 'Grapes': 10}
The extracted summation : 107

Method #2 : Using sum() + list comprehension

The combination of these functionalities provide a shorthand to solve this problem. In this, we perform summation using sum() and list comprehension is used to compile result and iterate.

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)) 
Output
The original dictionary is : {'Apple': 5, 'Mango': 8, 'Grapes': 10}
The extracted summation : 107

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :