我正在尝试在下面的字符串中打印单词的索引。现在的问题是它正在检查列表中的每个元素并返回false。如果单词不在列表中并且不检查每个元素,如何使其返回“False”?
target = "dont"
string = "we dont need no education we dont need to thought control no we dont"
liste = string.split()
for index, item in enumerate(liste):
if target in item:
print index, item
else:
print 'False'
输出:
False
1 dont
False
False
False
False
6 dont
False
False
False
False
False
False
13 dont
答案 0 :(得分:1)
首先检查单词是否在列表中:
if word not in liste:
因此,如果你想返回把它放在一个函数中:
def f(t, s):
liste = s.split()
if t not in liste:
return False
for index, item in enumerate(liste):
if t == item:
print index, item
return True
除非您想匹配子字符串,否则它也应该是if t == item:
,如果要返回所有索引,可以返回列表comp:
def f(t, s):
liste = s.split()
if t not in liste:
return False
return [index for index, item in enumerate(liste) if t == item]
答案 1 :(得分:1)
我认为这就是你想要的:
target = "dont"
string = "we dont need no education we dont need to thought control no we dont"
liste = string.split()
if target in liste:
for index, item in enumerate(liste):
if target == item:
print index, item
else:
print 'False'