徐志摩的《再别康桥》原文保存至文件“zbkq.txt”中,利用jieba库对该文进行分词(采用精确模式),对每个词计数,并保存到字典类型counts中并按降序排列,输出counts的前10项内容。用python实现
时间: 2024-09-29 15:10:46 浏览: 31
首先,你需要安装jieba库,如果你还没有安装,可以使用pip进行安装:
```bash
pip install jieba
```
接下来,按照你的需求,这是一个Python脚本示例:
```python
import jieba
from collections import defaultdict
# 读取文本文件
with open('zbkq.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba精确模式进行分词
words = jieba.lcut(text, cut_all=False)
# 计算单词频率并将结果存储到defaultdict中
word_counts = defaultdict(int)
for word in words:
word_counts[word] += 1
# 将字典按值(单词频率)降序排列
sorted_word_counts = dict(sorted(word_counts.items(), key=lambda item: item[1], reverse=True))
# 打印前10个最常出现的单词及其频率
print("徐志摩《再别康桥》中最常出现的10个词及频率:")
for i, (word, count) in enumerate(sorted_word_counts.items()):
if i >= 10:
break
print(f"{i + 1}. {word}: {count}")
# 另外,也可以将结果保存到文件,例如:
with open('word_counts.txt', 'w', encoding='utf-8') as f:
for word, count in sorted_word_counts.items():
f.write(f"{word}: {count}\n")
```
注意:这个脚本假设文本文件"zbkq.txt"位于脚本运行的同一目录下,如果不在,你需要指定完整的路径。
阅读全文