![]() |
VOOZH | about |
Sometimes, while working with Python tuples, we can have a problem in which we need to perform the summation of absolute values of intermediate tuple elements. This kind of problem can have application in many domains such as web development. Let's discuss certain ways in which this task can be performed.
Input : test_list = [(-7, -8), (-5, -6)] Output : [15, 11] Input : test_list = [(-1, -2, -4)] Output : [7]
Method #1 : Using sum() + list comprehension + abs() The combination of above functions can be used to solve this problem. In this, we perform the task of computing sum using sum(), abs() for absolute values, and list comprehension to iterate through the list and inside each tuple, generator expression is used to iterate.
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)] The absolute sum list: [15, 11, 9, 14]
Method #2 : Using list comprehension + sum() + map() The combination of above functions offer an alternative to solve this problem. In this, we perform the task of computing sum of entire tuple elements using map() rather than generator expression.
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)] The absolute sum list: [15, 11, 9, 14]
In the above example, the given list is test_list = [(-7, -8), (-5, -6)]. In the first iteration of the loop, the absolute values of -7 and -8 are taken and stored in the abs_tup variable as (7, 8). The sum of these absolute values is 15, which is appended to the result list. In the second iteration, the absolute values of -5 and -6 are taken and stored in the abs_tup variable as (5, 6). The sum of these absolute values is 11, which is appended to the result list. Finally, the result list is returned as the output.
[15, 11]
Time complexity: O(n*m)
Auxiliary Space: O(n)
Method #4 : Using nested for loops
Approach
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)] The absolute sum list: [15, 11, 9, 14]
Time Complexity : O(n*m) n - length of tuples list m- length of each tuple
Auxiliary Space : O(n)
Method #5 : Using numpy:
Algorithm:
Output:
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)]
The absolute sum list: [15 11 9 14]
Time Complexity:
The time complexity of this code is O(n), where n is the length of the test_list. The np.abs() and np.sum() functions have a complexity of O(n).
Auxiliary Space:
The space complexity of this code is O(n), where n is the length of the test_list. This is due to the creation of the numpy array 'res' which stores the absolute sum of each tuple.
Method #6 : Using lambda function and map()
The original list is : [(7, -8), (-5, -6), (-7, 2), (6, 8)] The absolute sum list: [15, 11, 9, 14]
Time complexity: O(n)
Auxiliary space: O(n)