我有一个像这样的元组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转换为字符串并且第一次尝试有效,感谢您的帮助。
答案 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
。