【发布时间】:2016-03-19 10:39:32
【问题描述】:
我正在尝试确定 search_string 的所有元素是否都存在于列表look_here_string 中的一个字符串中。出于效率原因,如果一个元素不存在,则从列表中删除该单词。
search_string = '1abc'
look_here_string = ['dedakloera', 'tuau', '1abcdefg']
x = 0
counter = 0
for item in search_string:
item = search_string[counter]
#print item, search_string, look_here_string[x]
if not item in look_here_string[x]:
print item, 'not in', look_here_string[x]
look_here_string.remove(look_here_string[x])
counter = 0
else:
print item, 'in', look_here_string[x]
counter +=1
这是我正在寻找的输出:
1 not in dedakloera
1 not in tuau
1 in 1abcdefg
a in 1abcdefg
b in 1abcdefg
c in 1abcdefg
这是我得到的输出:
1 not in dedakloera #correct
1 not in tuau #correct
1 in 1abcdefg #correct
a in 1abcdefg #correct
脚本似乎过早停止,但我无法弄清楚我的代码有什么问题。非常感谢您的帮助!
【问题讨论】:
-
因为你使用了
for item in search_string:,它只会迭代n = len(search_string),因此只打印4次输出。 -
我该如何解决这个问题?
标签: python string for-loop find iteration