# Python | Records list XOR

Sometimes, while programming, we have a problem in which we might need to perform certain bitwise operations among tuple list elements. This is an essential utility as we come across bitwise operations many times. Let’s discuss certain ways in which XOR can be performed.

Method #1 : Using `reduce() + lambda + “^” operator` + loop
The above functions can be combined to perform this task. We can first flatten the tuple list using loop and then employ reduce() to accumulate the result of XOR logic specified by the lambda function. Works only with 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))  `

Output :

```The original list is : [(4, 6), (2, ), (3, 8, 9)]
The Bitwise XOR of records list elements are : 2
```

Method #2 : Using `reduce() + operator.ixor + chain()`
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 XOR operation, the flattening of elements to list is performed using chain(). Works with Python2 only.

 `# 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))  `

Output :

```The original list is : [(4, 6), (2, ), (3, 8, 9)]
The Bitwise XOR of records list elements are : 2
```

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.

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.