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
# Python3 code to demonstrate working of # Dictionary Keys Summation # Using loop # initializing dictionary test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 , 6 : 7 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) res = 0 for key in test_dict: # adding keys res + = key # printing result print ( "The dictionary keys summation : " + str (res)) |
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
# Python3 code to demonstrate working of # Dictionary Keys Summation # Using keys() + sum() # initializing dictionary test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 , 6 : 7 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # sum() performs summation res = sum ( list (test_dict.keys())) # printing result print ( "The dictionary keys summation : " + str (res)) |
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
# Python3 code to demonstrate working of # Dictionary Keys Summation # Using reduce from functools import reduce # initializing dictionary test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) res = reduce ( lambda x, b: x + b, test_dict) # printing result print ( "The dictionary keys summation : " + str (res)) |
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
# Python3 code to demonstrate working of # Dictionary Keys Summation # Using list comprehension # initializing dictionary test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) res = sum ([key for key in test_dict]) # printing result print ( "The dictionary keys summation : " + str (res)) #This code is contributed by Edula Vinay Kumar Reddy |
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
# Python3 code to demonstrate working of # Dictionary Keys Summation # Using dict.keys() and sum() # initializing dictionary test_dict = { 3 : 4 , 9 : 10 , 15 : 10 , 5 : 7 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) res = sum (test_dict.keys()) # printing result print ( "The dictionary keys summation : " + str (res)) #This code is contributed by Edula Vinay Kumar Reddy |
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 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) res = 0 while len (test_dict) > 0 : key, value = test_dict.popitem() res + = key # printing result print ( "The dictionary keys summation : " + str (res)) #This code is contributed by Vinay pinjala. |
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).