A veces, mientras trabajamos con registros, podemos tener un problema en el que es posible que necesitemos realizar una operación matemática XOR 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 zip()
la expresión del generador +
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, realizamos la tarea de XOR usando la expresión del generador y el índice de mapeo de cada tupla se realiza mediante zip().
# Python3 code to demonstrate working of # Tuple XOR operation # 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)) # Tuple XOR operation # using zip() + generator expression res = tuple(ele1 ^ ele2 for ele1, ele2 in zip(test_tup1, test_tup2)) # printing result print("The XOR tuple : " + str(res))
The original tuple 1 : (10, 4, 6, 9) The original tuple 2 : (5, 2, 3, 3) The XOR tuple : (15, 6, 5, 10)
Método #2: Usarmap() + xor
la combinación de las funcionalidades anteriores también puede realizar esta tarea. En esto, realizamos la tarea de extender la lógica de XOR usando xor y el mapeo se realiza mediante map().
# Python3 code to demonstrate working of # Tuple XOR operation # using map() + xor from operator import xor # 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)) # Tuple XOR operation # using map() + xor res = tuple(map(xor, test_tup1, test_tup2)) # printing result print("The XOR tuple : " + str(res))
The original tuple 1 : (10, 4, 6, 9) The original tuple 2 : (5, 2, 3, 3) The XOR tuple : (15, 6, 5, 10)
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