如何正确检查字符串是否在python中的元组元素中

时间:2016-02-17 19:14:17

标签: python tuples

我有一个像这样的元组tuple1 =(' xdxdx asrsd',' opopo gdgd',' wdfsd dsds',' sdfsaf dsjhd ds&# 39)

我想检查string1 =' op'是元组中的一个元素。

所以我想写一个这样的声明:

if string1 in in tuple1:
     print True

显然,这句话不起作用,到目前为止,这是我的豁免:

for i in tuple1:
     if string1 in i:
         print True
         break
     else:
         print False

但是,这段代码不起作用,因为我会收到类型' int'是不可迭代的。

如果我尝试:

for i in tuple1:
     if string1 in tuple1[i]:
         print True
         break
     else:
         print False

我会得到另一个错误,说TypeError:元组索引必须是整数,而不是str。

那么,任何人都可以教我如何正确检查字符串是否在python中的元组元素中?

谢谢。

更新:对不起我觉得我搞砸了,我仔细检查了我的代码,我的代码中的实际元组不是用字符串组成的,而是其他的东西,我必须通过子进程模块检查出来但很遗憾浪费你的时间....

Update2:我将tuple1转换为字符串并且第一次尝试有效,感谢您的帮助。

3 个答案:

答案 0 :(得分:4)

您可以使用value函数代替嵌套循环。

return Number(input).toString(16);

答案 1 :(得分:2)

for sentence in tuple1:
    for word in sentence:
        if string1 in word:
            print 'True'
            break

答案 2 :(得分:1)

将元组转换为列表,然后迭代?

tup=('foo','bar')

for i in list(tup):
    print i

此外,您的TypeError是由尝试通过字符串索引引起的。你调用的内容基本上是tup['hi'],它适用于词典,但不适用于元组。您只需拨打if string1 in i

即可