VOOZH about

URL: https://www.geeksforgeeks.org/python/python-divide-constant-to-kth-tuple-index/

⇱ Python | Divide constant to Kth Tuple index - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Python | Divide constant to Kth Tuple index

Last Updated : 4 May, 2023

Many times, while working with records, we can have a problem in which we need to change the value of tuple elements. This is a common problem while working with tuples. Let’s discuss certain ways in which N can be divided by Kth element of tuple in list. 

Method #1: Using loop Using loops this task can be performed. In this, we just iterate the list to change the Kth element by predefined value N in code. 


Output
The original list is : [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
The tuple after dividing N to Kth element : [(4, 1, 6), (7, 1, 2), (9, 3, 11)]

Time complexity: O(n), where n is the length of the input list test_list.
Auxiliary space: O(n), since we are creating a new list res to store the modified tuples.

Method #2: Using list comprehension This method is having the same approach as the above method, just reduces lines of code using list comprehension functionality to make code compact by size. 


Output
The original list is : [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
The tuple after dividing N to Kth element : [(4, 1, 6), (7, 1, 2), (9, 3, 11)]

Time Complexity: O(n),The above code iterates through the list once, hence the time complexity is linear, i.e. O(n).
Space Complexity: O(n),The algorithm uses an additional list to store the result, thus consuming linear space which is O(n).

Method #3 :Using map() and lambda functions

The map() function can be used along with the lambda functions to change the value of a specific element in the tuple.


Output
The original list is : [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
The tuple after dividing N to Kth element : [(4, 1, 6), (7, 1, 2), (9, 3, 11)]

Time complexity: O(n), where n is the number of tuples in the list.
Auxiliary Space: O(n)

Method 4: Using the numpy library. 

Step-by-step approach:

  • Import the numpy library.
  • Initialize the input list as a numpy array.
  • Use the numpy.divide() function to divide the Kth column by N.
  • Print the updated numpy array.
OUTPUT : 
The original list is : [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
The tuple after dividing N to Kth element : [[4, 1, 6], [7, 1, 2], [9, 3, 11]]

The time complexity for this approach would be O(n), where n is the number of tuples in the input list.
The auxiliary space complexity would be O(n), since we are creating a new numpy array to store the result.

Comment