如何用Python计算

时间:2017-09-27 15:23:37

标签: python-2.7

我试图计算以Python中特定关键字开头的短语的出现次数:

if q.startswith('how many'):
    te[i] += 1

2 个答案:

答案 0 :(得分:0)

您的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只是一个字符串,你真的想检查它的第一行。或意图不同?

答案 1 :(得分:0)

如果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', '')