检查Python中的元组的元组中是否存在元素

Python元组可以嵌套。我们可以有一个元组,其元素也是元组。在本文中,我们将了解如何确定给定值是否在元组的元组中作为元素存在。

使用any函数

借助for循环,any函数可用于检查给定值是否作为元组中存在的任何子元组中的元素存在。我们将整个条件放在if和else子句中。

示例

Atuple = [('Mon',10),('Tue',8),('Wed',8),('Thu',5)]

#Given tuple
print("Given tuple: ",Atuple)

# Use any
if any('Tue' in i for i in Atuple):
   print("present")
else :
   print("Not present")


if any(3 in i for i in Atuple):
   print("present")
else :
   print("Not present")

输出结果

运行上面的代码给我们以下结果-

Given tuple: [('Mon', 10), ('Tue', 8), ('Wed', 8), ('Thu', 5)]
present
Not present

使用itertools.chain

itertools模块中的chain函数从第一个可迭代对象返回元素,直到用尽为止,然后继续进行到下一个可迭代对象,直到所有可迭代对象都用尽。因此,我们将其与给定的元组一起使用,以扩展其所有内容,并使用if子句检查所需值的存在。

示例

import itertools
Atuple = (('Mon',10),('Tue',8),('Wed',8),('Thu',5))

#Given tuple
print("Given tuple: ",Atuple)

# Use chain
if ('Wed' in itertools.chain(*Atuple)) :
print("Wed is present")
else :
   print("Wed is not present")


if (11 in itertools.chain(*Atuple)) :
   print("11 is present")
else :
   print("11 is not present")

输出结果

运行上面的代码给我们以下结果-

Given tuple: (('Mon', 10), ('Tue', 8), ('Wed', 8), ('Thu', 5))
Wed is present
11 is not present