📜  Python|比较元组

📅  最后修改于: 2022-05-13 01:55:48.831000             🧑  作者: Mango

Python|比较元组

有时,在处理记录时,我们可能会遇到一个问题,即我们需要检查一个元组的每个元素是否大于/小于另一个元组中的相应索引。这可以有许多可能的应用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用all() + generator expression + zip()
上述功能的组合可用于执行此任务。在此,我们只使用all()比较所有元素。跨元组访问由zip()完成,生成器表达式为我们提供了比较的逻辑。

# Python3 code to demonstrate working of
# Comparing tuples
# using generator expression + all() + zip()
  
# initialize tuples 
test_tup1 = (10, 4, 5)
test_tup2 = (13, 5, 18)
  
# printing original tuples 
print("The original tuple 1 : " + str(test_tup1))
print("The original tuple 2 : " + str(test_tup2))
  
# Comparing tuples
# using generator expression + all() + zip()
res = all(x < y for x, y in zip(test_tup1, test_tup2))
  
# printing result
print("Are all elements in second tuple greater than first ? : " + str(res))
输出 :
The original tuple 1 : (10, 4, 5)
The original tuple 2 : (13, 5, 18)
Are all elements in second tuple greater than first ? : True

方法 #2:使用all() + map() + lambda
上述功能的组合可用于执行此特定任务。在此,我们使用map()对每个元素执行逻辑扩展,并通过 lambda函数生成逻辑。

# Python3 code to demonstrate working of
# Comparing tuples
# using all() + lambda + map()
  
# initialize tuples 
test_tup1 = (10, 4, 5)
test_tup2 = (13, 5, 18)
  
# printing original tuples 
print("The original tuple 1 : " + str(test_tup1))
print("The original tuple 2 : " + str(test_tup2))
  
# Comparing tuples
# using all() + lambda + map()
res = all(map(lambda i, j: i < j, test_tup1, test_tup2))
  
# printing result
print("Are all elements in second tuple greater than first ? : " + str(res))
输出 :
The original tuple 1 : (10, 4, 5)
The original tuple 2 : (13, 5, 18)
Are all elements in second tuple greater than first ? : True