A veces, mientras programamos, tenemos un problema en el que es posible que necesitemos realizar ciertas operaciones bit a bit entre los elementos de la lista de tuplas. Esta es una utilidad esencial ya que nos encontramos con operaciones bit a bit muchas veces. Analicemos ciertas formas en que se puede realizar XOR.
Método n.º 1: Uso reduce() + lambda + “^” operator
del bucle +
Las funciones anteriores se pueden combinar para realizar esta tarea. Primero podemos aplanar la lista de tuplas usando loop y luego emplear reduce() para acumular el resultado de la lógica XOR especificada por la función lambda. Funciona solo con Python2.
# Python code to demonstrate working of # Records list XOR # Using reduce() + lambda + "^" operator + loops # initializing list test_list = [(4, 6), (2, ), (3, 8, 9)] # printing original list print("The original list is : " + str(test_list)) # Records list XOR # Using reduce() + lambda + "^" operator + loops temp = [] for sub in test_list: for ele in sub: temp.append(ele) res = reduce(lambda x, y: x ^ y, temp) # printing result print("The Bitwise XOR of records list elements are : " + str(res))
The original list is : [(4, 6), (2, ), (3, 8, 9)] The Bitwise XOR of records list elements are : 2
Método n.º 2: usarreduce() + operator.ixor + chain()
esta tarea también se puede realizar con este método. En esto, la tarea realizada por la función lambda en el método anterior se realiza usando la función ior para la operación XOR acumulativa, el aplanamiento de elementos a la lista se realiza usando chain(). Funciona solo con Python2.
# Python code to demonstrate working of # Records list XOR # Using reduce() + operator.ixor from operator import ixor from itertools import chain # initializing list test_list = [(4, 6), (2, ), (3, 8, 9)] # printing original list print("The original list is : " + str(test_list)) # Records list XOR # Using reduce() + operator.ixor temp = list(chain(*test_list)) res = reduce(ixor, temp) # printing result print("The Bitwise XOR of records list elements are : " + str(res))
The original list is : [(4, 6), (2, ), (3, 8, 9)] The Bitwise XOR of records list elements are : 2
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