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 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 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.
# 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 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 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
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).