Python – 元组元素反转
有时,在编程时,我们可能需要在元组元素之间执行某些按位运算。这是一个必不可少的实用程序,因为我们多次遇到按位运算。让我们讨论可以执行此任务的某些方式。
方法 #1:使用map() + list() + tuple() + lambda + "~" operator
可以组合上述功能来执行此任务。我们可以使用 map() 来累积由 lambda函数指定的反转逻辑的结果。 list() 和 tuple() 函数用于执行相互转换。
# Python3 code to demonstrate working of
# Tuple elements inversions
# Using map() + list() + tuple() + lambda + "~" operator
# initializing tup
test_tup = (7, 8, 9, 1, 10, 7)
# printing original tuple
print("The original tuple is : " + str(test_tup))
# Tuple elements inversions
# Using map() + list() + tuple() + lambda + "~" operator
res = tuple(list(map(lambda x: ~x, list(test_tup))))
# printing result
print("The Bitwise Inversions of tuple elements are : " + str(res))
输出 :
The original tuple is : (7, 8, 9, 1, 10, 7)
The Bitwise Inversions of tuple elements are : (-8, -9, -10, -2, -11, -8)
方法 #2:使用map() + tuple() + list() + operator.invert
也可以使用此方法执行此任务。在这种情况下,上述方法中由 lambda函数执行的任务是使用 ior函数执行累积反转操作。 list() 和 tuple() 函数用于执行相互转换。
# Python 3 code to demonstrate working of
# Tuple elements inversions
# Using map() + list() + tuple() + operator.invert
from operator import invert
# initializing tup
test_tup = (7, 8, 9, 1, 10, 7)
# printing original tuple
print("The original tuple is : " + str(test_tup))
# Tuple elements inversions
# Using map() + list() + tuple() + operator.invert
res = tuple(list(map(invert, list(test_tup))))
# printing result
print("The Bitwise Inversions of tuple elements are : " + str(res))
输出 :
The original tuple is : (7, 8, 9, 1, 10, 7)
The Bitwise Inversions of tuple elements are : (-8, -9, -10, -2, -11, -8)