我正在Python 2.7中编写代码,其中定义了超过一百万个字符串的列表。这是我的简单代码,用于查找包含关键字的字符串:
for word in wordlist:
if keyword in word:
newlist.append(word)
是否有更好/更快的方法来完成此任务?
您会经常这样做吗?您只匹配精确的单词吗?可能值得建立并保留一个索引:
from collections import defaultdict
class Index:
def __init__(self, stringlist):
self.index = defaultdict(list)
for string in stringlist:
for word in string.split():
self.index[word].append(string)
def strings_containing(self, word):
return self.index[word]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句