所以我已经学习 Python 几个月了,想知道如何编写一个函数来计算单词在句子中出现的次数。如果有人能给我一个逐步的方法,我将不胜感激。
最佳答案
快速回答:
def count_occurrences(word, sentence):
return sentence.lower().split().count(word)
'some string.split()
会将空格(空格、制表符和换行符)上的字符串拆分为单词列表。然后 ['some', 'string'].count(item)
返回 item
在列表中出现的次数。
这不处理删除标点符号。您可以使用 string.maketrans
来做到这一点和 str.translate
.
# Make collection of chars to keep (don't translate them)
import string
keep = string.lowercase + string.digits + string.whitespace
table = string.maketrans(keep, keep)
delete = ''.join(set(string.printable) - set(keep))
def count_occurrences(word, sentence):
return sentence.lower().translate(table, delete).split().count(word)
这里的关键是我们构造了字符串delete
,这样它就包含了除字母、数字和空格之外的所有ascii 字符。然后 str.translate
在这种情况下采用不更改字符串的转换表,但也需要去除一串字符。
关于python - 如何计算单词在句子中出现的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272358/