编写函数count_word_frequency,统计某文本(该文本自定义)中单词出现的次数,并按照出现的次数从大到小输出排名前十的单词及次数。
时间: 2023-12-09 22:05:21 浏览: 10
好的,我可以为你编写这个函数。以下是 Python 代码实现:
```python
import re
def count_word_frequency(text):
# 将文本转换为小写字母
text = text.lower()
# 使用正则表达式去掉文本中的标点符号和数字
text = re.sub(r'[^\w\s]', '', text)
text = re.sub(r'\d+', '', text)
# 将文本拆分成单词列表
words = text.split()
# 统计每个单词出现的次数
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 按照出现次数从大到小排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出排名前十的单词及次数
for i in range(10):
if i >= len(sorted_word_count):
break
print(f"{i+1}. {sorted_word_count[i][0]}: {sorted_word_count[i][1]}")
```
你可以将需要统计的文本作为参数传递给该函数,它将输出排名前十的单词及其出现次数。注意:该函数只统计单词,不考虑单词的不同形式(如单数和复数、不同时态等)。
阅读全文