我有一个字符串列表(大约 100 个),我想找到其中一个字符串在另一个字符串中的第一次出现以及它出现的索引。
我保留索引,然后使用该索引中的另一个单词列表再次搜索,然后返回第一个列表,直到它到达字符串的末尾。
我当前的代码(搜索第一次出现)如下所示:
def findFirstOccurence(wordList, bigString, startIndex):
substrIndex = sys.maxint
for word in wordList:
tempIndex = bigString.find(word, startIndex)
if tempIndex < substrIndex and tempIndex != -1:
substrIndex = tempIndex
return substrIndex
这段代码可以完成这项工作,但需要很多时间(我对相同的单词列表运行了几次,但使用了 100 个大字符串(每个大约 10K-20K 单词)。
我确信有更好的方法(以及更 Pythonic 的方法)。