使用set实现词频统计
时间: 2024-05-03 17:23:18 浏览: 9
可以使用Python中的set和字典来实现词频统计。
1. 先将文本分词,并去除停用词(如“的”、“了”、“在”等无实际意义的词)。
2. 使用set来去重,得到所有出现过的单词。
3. 创建一个空的字典,用于存储每个单词出现的次数。
4. 遍历分词后的文本,使用字典统计每个单词出现的次数。
5. 最后,将字典按照词频从高到低排序,即可得到词频统计结果。
代码示例:
```python
import jieba
import re
# 读取文本并进行分词
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
word_list = jieba.cut(text)
stopwords = ['的', '了', '在', '是'] # 停用词表
word_list = [word for word in word_list if word not in stopwords]
# 统计词频
word_set = set(word_list) # 去重
word_dict = {}
for word in word_list:
if word not in word_dict:
word_dict[word] = 1
else:
word_dict[word] += 1
# 按照词频排序
word_freq = sorted(word_dict.items(), key=lambda x: x[1], reverse=True)
# 输出结果
for word, freq in word_freq:
print(word, freq)
```
注意:由于jieba分词工具需要安装,因此需要先使用pip安装jieba库。