Python – Tuple elements inversions
Last Updated :
12 Apr, 2023
Sometimes, while programming, we have a problem in which we might need to perform certain bitwise operations among tuple elements. This is an essential utility as we come across bitwise operations many times. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using map() + list() + tuple() + lambda + “~” operator The above functions can be combined to perform this task. We can employ map() to accumulate the result of Inversion logic specified by the lambda function. The list() and tuple() functions are used to perform interconversions.
Python3
test_tup = ( 7 , 8 , 9 , 1 , 10 , 7 )
print ("The original tuple is : " + str (test_tup))
res = tuple ( list ( map ( lambda x: ~x, list (test_tup))))
print ("The Bitwise Inversions of tuple elements are : " + str (res))
|
Output :
The original tuple is : (7, 8, 9, 1, 10, 7)
The Bitwise Inversions of tuple elements are : (-8, -9, -10, -2, -11, -8)
Method #2 : Using map() + tuple() + list() + operator.invert This task can also be performed using this method. In this the task performed by lambda function in above method is performed using ior function for cumulative Inversion operation. The list() and tuple() functions are used to perform interconversions.
Python3
from operator import invert
test_tup = ( 7 , 8 , 9 , 1 , 10 , 7 )
print ("The original tuple is : " + str (test_tup))
res = tuple ( list ( map (invert, list (test_tup))))
print ("The Bitwise Inversions of tuple elements are : " + str (res))
|
Output :
The original tuple is : (7, 8, 9, 1, 10, 7)
The Bitwise Inversions of tuple elements are : (-8, -9, -10, -2, -11, -8)
METHOD 3:Using a for loop and a temporary list
APPROACH:
This approach involves iterating over each element in the input tuple using a for loop and appending its bitwise negation to a temporary list. Finally, the list is converted back to a tuple using the tuple() constructor and returned.
ALGORITHM:
1.Define a function that takes a tuple as input.
2.Create an empty list called ‘inversions’.
3.Use a for loop to iterate through each element in the tuple and apply the bitwise negation operator (-x) to it. Append the result to the ‘inversions’ list.
4.Convert the ‘inversions’ list into a tuple and return it.
Python3
def tuple_inversions_3(tup):
inversions = []
for x in tup:
inversions.append( - x)
return tuple (inversions)
tup = ( 7 , 8 , 9 , 1 , 10 , 7 )
print (tuple_inversions_3(tup))
|
Output
(-7, -8, -9, -1, -10, -7)
Time Complexity: O(n)
Auxiliary Space: O(n)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...