我正在尝试统计Python中以特定关键字开头的短语的出现次数:
if q.startswith('how many'):
te[i] += 1发布于 2017-09-27 23:37:28
您的if构造是正常的,但是您将不同的结果计数记录到相同的变量,并且需要进行更改:
patterns = ['how many', 'how much', 'how']
textline = 'how much is the fish'
def pattern_count(textline, patterns):
d = {pat:0 for pat in patterns}
for pat in patterns:
if textline.startswith(pat):
d[pat] = 1
return d
te = pattern_count(textline, patterns)
print(te)
{'how': 0, 'how many': 0, 'how much': 1}上面的代码假设textline只是一个字符串,并且您确实希望检查它的第一行。还是意图不同?
发布于 2017-09-27 23:51:21
如果q是一串短语,我认为你可以这样做
te = {'how many': 0, 'how much': 0, 'how': 0}
te['how many'] = te['how many'] + q.count('how many')
q.replace('how many', '')
te['how much'] = te['how much'] + q.count('how much')
q.replace('how much', '')
te['how'] = te['how'] + q.count('how')
q.replace('how', '')https://stackoverflow.com/questions/46451674
复制相似问题