A veces, mientras trabajamos con registros, podemos tener un problema en el que es posible que necesitemos realizar una operación AND matemática bit a bit en tuplas. Este problema puede ocurrir en la programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: usar la zip()
expresión del generador +
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, realizamos la tarea de AND usando la expresión del generador y el índice de mapeo de cada tupla se realiza mediante zip().
# 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))
The original tuple 1 : (10, 4, 6, 9) The original tuple 2 : (5, 2, 3, 3) The AND tuple : (0, 0, 2, 1)
Método #2: Usarmap() + iand
la combinación de las funcionalidades anteriores también puede realizar esta tarea. En esto, realizamos la tarea de extender la lógica de AND usando iand y el mapeo se realiza mediante map().
# 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))
The original tuple 1 : (10, 4, 6, 9) The original tuple 2 : (5, 2, 3, 3) The AND tuple : (0, 0, 2, 1)
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA