如何计算python中的后缀? - python

我正在做一些事情,首先我必须分割一个字符串(这是一个paragph),然后取下每个字符串的标点符号。为此,我执行了以下操作:

a = string1.split()

print(a)

punc = "?.,!"

a = ["".join(c for c in s if c not in punc) for s in a]

print(a)

在此之后,我必须计算以“ ing”结尾的单词数。我尝试了各种方法,但由于某种原因,它们总是在应计数为10时计数为0。这是我最近的尝试:

suffix = "ing"

suffix_count = 0

if any (''.endswith(suffix) for s in a):

    suffix_count += 1

print ("Found {} words ending in ing".format(suffix_count))

我究竟做错了什么?

python大神给出的解决方案

代替

if any (''.endswith(suffix) for s in a):
    suffix_count += 1

尝试

suffix_count = sum(1 for s in a if s.endswith(suffix))

您的代码存在的问题是,您正在检查空字符串是否以“后缀”结尾(始终为假),但是即使您没做错检查:您只是一次增加了suffix_count,与多少个以“'”结尾的字符串无关后缀'。