Python | Elementwise AND in tuples

Sometimes, while working with records, we can have a problem in which we may need to perform mathematical bitwise AND operation across tuples. This problem can occur in day-day programming. Let’s discuss certain ways in which this task can be performed.

Method #1 : Using zip() + generator expression
The combination of above functions can be used to perform this task. In this, we perform the task of AND using generator expression and mapping index of each tuple is done by zip().

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate working of 
# Elementwise AND in tuples
# using zip() + generator expression 
  
# initialize tuples 
test_tup1 = (10, 4, 6, 9
test_tup2 = (5, 2, 3, 3
  
# printing original tuples 
print("The original tuple 1 : " + str(test_tup1)) 
print("The original tuple 2 : " + str(test_tup2)) 
  
# Elementwise AND in tuples
# using zip() + generator expression 
res = tuple(ele1 & ele2 for ele1, ele2 in zip(test_tup1, test_tup2)) 
  
# printing result 
print("The AND tuple : " + str(res)) 

chevron_right


Output :

The original tuple 1 : (10, 4, 6, 9)
The original tuple 2 : (5, 2, 3, 3)
The AND tuple : (0, 0, 2, 1)

 

Method #2 : Using map() + iand
The combination of above functionalities can also perform this task. In this, we perform the task of extending logic of AND using iand and mapping is done by map().

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate working of 
# Elementwise AND in tuples 
# using map() + iand 
from operator import iand 
  
# initialize tuples 
test_tup1 = (10, 4, 6, 9
test_tup2 = (5, 2, 3, 3
  
# printing original tuples 
print("The original tuple 1 : " + str(test_tup1)) 
print("The original tuple 2 : " + str(test_tup2)) 
  
# Elementwise AND in tuples 
# using map() + iand
res = tuple(map(iand, test_tup1, test_tup2)) 
  
# printing result 
print("The AND tuple : " + str(res)) 

chevron_right


Output :

The original tuple 1 : (10, 4, 6, 9)
The original tuple 2 : (5, 2, 3, 3)
The AND tuple : (0, 0, 2, 1)



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.