【发布时间】:2018-06-01 03:31:44
【问题描述】:
我有一个字符串列表,我试图在字符串列表中找到我正在搜索的子字符串的第一个字母的位置。我正在使用 find() 方法来执行此操作,但是当我尝试打印第一个字母的位置时,Python 返回了正确的位置,但随后抛出了一个 -1,就像它找不到子字符串一样,但只有在它找到它之后。我想知道如何返回他的子字符串的第一个字母的位置,而不是在正确的值之后返回-1。
这是我的代码:
mylist = ["blasdactiverehu", "sdfsfgiuyremdn"]
word = "active"
if any(word in x for x in mylist) == True:
for x in mylist:
position = x.find(word)
print(position)
输出是:
5
-1
我希望输出只是:
5
我认为这可能与循环正在为列表中的每个字符串搜索子字符串的事实有关,并且在找到位置后它仍然搜索更多但当然返回错误,因为只有一次出现子字符串“活动”,但是我不确定在成功找到一个子字符串后如何停止搜索。任何帮助表示赞赏,谢谢。
【问题讨论】:
-
请让我知道您是否可以将我的答案标记为正确的答案,或者是否需要进一步的帮助,以便其他有相同问题的人可以依赖它。
标签: python-3.x list find substring