假设我将字符串标记为一个字符串并将其转换为列表:
>>> s = "This is a test"
>>> l = nltk.word_tokenize(s)
>>> l
['This', 'is', 'a', 'test']
我如何在列表中搜索“is a”这样的短语的出现,即'is'是否直接跟'a'?
答案 0 :(得分:4)
如果您想检查列表中的两个项目是否按顺序排列:
l = ['This', 'is', 'a', 'test']
any(['is', 'a'] == l[i:i+2] for i in xrange(len(l) - 1))
答案 1 :(得分:0)
你可以使用正则表达式首先提取所需的删节词,例如is a
,然后计算结果列表中的元素数量。这样你也不必对字符串进行标记,如果是一个渴望的财产。
这对你有用:
import re
dummyList = re.findall(r'\bis a\b', ' This is a test. A regular expression is a necessity to catch all is a(s)')
print len(dummyList)
这将打印出3