代码
请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
import string
text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""
def wordcount(text):
# 保留's作为单词的一部分
punctuations = string.punctuation.replace("'", "")
#maketrans(x,y,z) x是你想要换的字符串,y是对应换成的字符串,z是你想要删除的字符串
translator = str.maketrans('', '', punctuations)
#maketrans返回的是一个mapping对象,需要配合translate()使用
cleaned_text = text.translate(translator)
# 转换为小写
cleaned_text = cleaned_text.lower()
# 分割单词
words = cleaned_text.split()
# 使用字典统计单词出现的次数
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
return word_count
print(wordcount(text))
运行结果如下图所示
debug
punctuations = string.punctuation.replace("'", "")
去掉标点符号
cleaned_text = text.translate(translator)
转成小写
cleaned_text = cleaned_text.lower()
以空格分割单词
words = cleaned_text.split()
至此,debug结束。