Python | Divide constant to Kth Tuple index
Last Updated :
04 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.
Python3
# Python3 code to demonstrate working of
# Divide constant to Kth Tuple index
# Using loop
# Initializing list
test_list = [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
# printing original list
print("The original list is : " + str(test_list))
# Initializing N
N = 3
# Initializing K
K = 1
# Divide constant to Kth Tuple index
# Using loop
res = []
for i in range(0, len(test_list)):
res.append((test_list[i][0], test_list[i][K] // N, test_list[i][2]))
# printing result
print("The tuple after dividing N to Kth element : " + str(res))
OutputThe 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.
Python3
# Python3 code to demonstrate working of
# Divide constant to Kth Tuple index
# Using list comprehension
# Initializing list
test_list = [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
# printing original list
print("The original list is : " + str(test_list))
# Initializing N
N = 3
# Initializing K
K = 1
# Divide constant to Kth Tuple index
# Using list comprehension
res = [(a, b // N, c) for a, b, c in test_list]
# printing result
print("The tuple after dividing N to Kth element : " + str(res))
OutputThe 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.
Python3
#Python3 code to demonstrate working of
#Divide constant to Kth Tuple index
#Using map() and lambda functions
#Initializing list
test_list = [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
#printing original list
print("The original list is : " + str(test_list))
#Initializing N
N = 3
#Initializing K
K = 1
#Divide constant to Kth Tuple index
#Using map() and lambda functions
res = list(map(lambda x : (x[0], x[K] // N, x[2]), test_list))
#printing result
print("The tuple after dividing N to Kth element : " + str(res))
#This code is contributed by Edula Vinay Kumar Reddy
OutputThe 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.
Python3
#Python3 code to demonstrate working of
#Divide constant to Kth Tuple index
#Using numpy
import numpy as np
#Initializing list
test_list = [(4, 5, 6), (7, 4, 2), (9, 10, 11)]
#printing original list
print("The original list is : " + str(test_list))
#Initializing N
N = 3
#Initializing K
K = 1
#Converting the list to a numpy array
arr = np.array(test_list)
#Dividing Kth column by N
arr[:, K] = np.divide(arr[:, K], N)
#printing result
print("The tuple after dividing N to Kth element : " + str(arr.tolist()))
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.
Similar Reads
Python | Convert list to indexed tuple list Sometimes, while working with Python lists, we can have a problem in which we need to convert a list to tuple. This kind of problem have been dealt with before. But sometimes, we have it's variation in which we need to assign the index of the element along with element as a tuple. Let's discuss cert
3 min read
Python - Remove Kth Index Duplicates in Tuple Sometimes, while working with Python records, we can have a problem in which we need to remove all the tuples, which have similar Kth index elements in list of records. This kind of problem is common in day-day and web development domain. Let's discuss certain ways in which this task can be performe
7 min read
Python | Adding N to Kth tuple element 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 added to Kth element of tuple in list. Method #1 : Using loop Using loops this task c
3 min read
Python | Exponentiate Kth Record Index 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 exponentiated to Kth element of tuple in list. Method #1 : Using loop Using loops thi
5 min read
Python | Nth tuple index Subtraction by K 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 K can be subtracted to Nth element of tuple in list. Method #1 : Using loop Using loops this t
6 min read