Python Program to print sum of all key value pairs in a Dictionary
Given a dictionary arr consisting of N items, where key and value are both of integer type, the task is to find the sum of all key value pairs in the dictionary.
Examples:
Input: arr = {1: 10, 2: 20, 3: 30}
Output: 11 22 33
Explanation:
Sum of key and value of the first item in the dictionary = 1 + 10 = 11.
Sum of key and value of the second item in the dictionary = 2 + 20 = 22.
Sum of key and value of the third item in the dictionary = 3 + 30 = 33.Input: arr = {10 : -5, 5 : -10, 100 : -50}
Output: 5 -5 50
Method 1:
Approach using dictionary traversal technique: The idea is to traverse through the keys of dictionary using for loop. Follow the steps below to solve the problem:
- Initialize a list, say l, to store the result.
- Traverse the dictionary arr and then append i + arr[i] into the list l.
- After completing the above steps, print the list l as the required answer.
Below is the implementation of the above approach:
Python3
# Python3 implementation of # the above approach # Function to print the list containing # the sum of key and value pairs of # each item of a dictionary def FindSum(arr): # Stores the list containing the # sum of keys and values of each item l = [] # Traverse the dictionary for i in arr: l.append(i + arr[i]) # Print the list l print ( * l) # Driver Code arr = { 1 : 10 , 2 : 20 , 3 : 30 } FindSum(arr) |
11 22 33
Time Complexity: O(N)
Auxiliary Space: O(N)
Method 2:
Approach using keys() Method: An alternate approach to solve the problem is to use keys() method. Follow the steps below to solve the problem:
- Initialize a list, say l, to store the result.
- Traverse through the list of keys of dictionary arr and then append.
- After completing the above steps print the list l as answer.
Below is the implementation of the above approach:
Python3
# Python3 implementation of the above approach # Function to print the list # containing the sum of key and # value pairs from a dictionary def FindSum(arr): # Stores the list containing the # sum of keys and values of each item l = [] # Traverse the list of keys of arr for i in arr.keys(): l.append(i + arr[i]) # Print the list l print ( * l) # Driver Code arr = { 1 : 10 , 2 : 20 , 3 : 30 } FindSum(arr) |
11 22 33
Time Complexity: O(N)
Auxiliary Space: O(N)
Method 3 : Using keys(),values() and for loop
Python3
# Python3 implementation of the above approach arr = { 1 : 10 , 2 : 20 , 3 : 30 } x = list (arr.keys()) y = list (arr.values()) res = [] for i in range ( 0 , len (x)): res.append(x[i] + y[i]) for i in res: print (i, end = " " ) |
11 22 33
Method 4: Using zip() and a list comprehension
This approach uses the python built-in function zip() to extract the keys and values of the dictionary and combines them in a tuple. Using a list comprehension, we add the key and value of each item in the dictionary. The final result is the sum of all key-value pairs in the dictionary. The time complexity of this approach is O(n) and the space complexity is O(n) as we are creating a new list to store the sum of each key-value pair.
Python3
def find_sum(arr): # Using zip to get the keys and values of the dictionary keys, values = zip ( * arr.items()) # Using list comprehension to add the key and value of each item return [k + v for k,v in zip (keys, values)] arr = { 1 : 10 , 2 : 20 , 3 : 30 } print (find_sum(arr)) #This code is contributed by Edula Vinay Kumar Reddy |
[11, 22, 33]
Please Login to comment...