Python program to find the sum of dictionary keys
Last Updated :
14 Mar, 2023
Given a dictionary with integer keys. The task is to find the sum of all the keys.
Examples:
Input : test_dict = {3 : 4, 9 : 10, 15 : 10, 5 : 7}
Output : 32
Explanation : 3 + 9 + 15 + 5 = 32, sum of keys.
Input : test_dict = {3 : 4, 9 : 10, 15 : 10}
Output : 27
Explanation : 3 + 9 + 15 = 27, sum of keys.
Method #1: Using loop
This is one of the ways in which this task can be performed. In this, we iterate all the keys in the dictionary and compute summation using a counter.
Python3
test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 , 6 : 7 }
print ( "The original dictionary is : " + str (test_dict))
res = 0
for key in test_dict:
res + = key
print ( "The dictionary keys summation : " + str (res))
|
Output
The original dictionary is : {3: 4, 9: 10, 15: 10, 5: 7, 6: 7}
The dictionary keys summation : 38
Method #2 : Using keys() + sum()
This is shorthand with the help of which this task can be performed. In this, we extract all keys in list using keys(), and the summation is performed using sum().
Python3
test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 , 6 : 7 }
print ( "The original dictionary is : " + str (test_dict))
res = sum ( list (test_dict.keys()))
print ( "The dictionary keys summation : " + str (res))
|
Output
The original dictionary is : {3: 4, 9: 10, 15: 10, 5: 7, 6: 7}
The dictionary keys summation : 38
Method #3: Using reduce( )
This is shorthand with the help of which this task can be performed. In this, we sum all the keys value using lambda function in reduce.
Python
from functools import reduce
test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 }
print ( "The original dictionary is : " + str (test_dict))
res = reduce ( lambda x, b: x + b, test_dict)
print ( "The dictionary keys summation : " + str (res))
|
Output
The original dictionary is : {9: 10, 3: 4, 5: 7, 15: 10}
The dictionary keys summation : 32
Method #4: Using list comprehension
This approach uses a list comprehension to extract all the keys from the dictionary and then uses the built-in sum function to find the sum of all the keys.
Python3
test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 }
print ( "The original dictionary is : " + str (test_dict))
res = sum ([key for key in test_dict])
print ( "The dictionary keys summation : " + str (res))
|
Output
The original dictionary is : {3: 4, 9: 10, 15: 10, 5: 7}
The dictionary keys summation : 32
Time complexity: O(n)
Auxiliary space: O(n) where n is the number of keys in the dictionary.
Method #5: Using the built-in function dict.keys() and sum()
Use the dict.keys() function to extract all the keys in the dictionary and then use the built-in sum() function to calculate the sum of all the keys.
Python3
test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 }
print ( "The original dictionary is : " + str (test_dict))
res = sum (test_dict.keys())
print ( "The dictionary keys summation : " + str (res))
|
Output
The original dictionary is : {3: 4, 9: 10, 15: 10, 5: 7}
The dictionary keys summation : 32
Time complexity: O(n) where n is the number of keys in the dictionary.
Auxiliary space: O(n) as we are creating a new list of size n to store all the keys of the dictionary
Method #6:Using while loop() and popitem()
Algorithm:
- Initialize a variable res to 0
- While the length of test_dict is greater than 0, do the following:
a. Remove the last key-value pair from test_dict using the popitem() method
b. Add the key of the removed pair to res
- Print res
Python3
test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 }
print ( "The original dictionary is : " + str (test_dict))
res = 0
while len (test_dict) > 0 :
key, value = test_dict.popitem()
res + = key
print ( "The dictionary keys summation : " + str (res))
|
Output
The original dictionary is : {3: 4, 9: 10, 15: 10, 5: 7}
The dictionary keys summation : 32
Time complexity:
The time complexity of this algorithm depends on the size of the dictionary test_dict. In the worst case, the loop will execute n times, where n is the number of key-value pairs in the dictionary. The popitem() method has a time complexity of O(1), so the total time complexity of the loop is O(n). Therefore, the time complexity of the entire algorithm is O(n).
Auxiliary Space:
The space complexity of this algorithm depends on the size of the dictionary test_dict and the size of the variables res, key, and value. The space complexity of the variables is O(1). Therefore, the total space complexity of the algorithm O(1).
Share your thoughts in the comments
Please Login to comment...