Python program to illustrate multiplying all the items in a dictionary could be done by creating a dictionary that will store all the key-value pairs, multiplying the value of all the keys, and storing it in a variable.
Example:
Input: dict = {‘value1’:5, ‘value2’:4, ‘value3’:3, ‘value4’:2, ‘value5’:1}
Output: ans = 120Input: dict = {‘v1’:10, ‘v2’:7, ‘v3’:2}
Output: ans = 140
Approach 1:
- Create a dictionary d and store key-value pairs in it.
- Create a variable answer initialized to 1.
- Run a loop to traverse through the dictionary d
- Multiply each value of key with answer and store the result in answer itself.
- Print answer.
Below are the examples of above approach.
Example 1:
Python3
# create a dictionary d = { 'value1' : 5 , 'value2' : 4 , 'value3' : 3 , 'value4' : 2 , 'value5' : 1 , } # create a variable to store result answer = 1 # run a loop for i in d: answer = answer * d[i] # print answer print (answer) |
120
Time complexity: O(n), where n is the number of elements in the dictionary.
Auxiliary space: O(1), as only a single variable is used to store the result.
Example 2:
Python3
# create a dictionary d = { 'a' : 10 , 'b' : 7 , 'c' : 2 , } # create a variable to store result answer = 1 # run a loop for i in d: answer = answer * d[i] # print answer print (answer) |
140
Approach 2: Using values() and list() methods
Python3
# create a dictionary d = { 'value1' : 5 , 'value2' : 4 , 'value3' : 3 , 'value4' : 2 , 'value5' : 1 , } # create a variable to store result answer = 1 val = list (d.values()) # run a loop for i in val: answer = answer * i # print answer print (answer) |
120
Time Complexity: O(n), where n is the number of key-value pairs in the dictionary.
Auxiliary Space Complexity: O(1), as the amount of additional space used is constant regardless of the size of the input.
Approach 3: Using functools.reduce(), operator.mul
Python3
# create a dictionary d = { 'value1' : 5 , 'value2' : 4 , 'value3' : 3 , 'value4' : 2 , 'value5' : 1 , } # create a variable to store result answer = 1 val = list (d.values()) from functools import reduce import operator # print answer print ( reduce (operator.mul,val, 1 )) |
120
Time complexity: O(n), where n is the number of key-value pairs in the dictionary.
Auxiliary space: O(n), where n is the number of key-value pairs in the dictionary.