c++统计文件夹kk中文件的单词频次,字母不区分大小写,并给出频次最高的前20组单词
时间: 2023-09-07 17:05:06 浏览: 96
为了统计文件夹kk中文件的单词频次,我们可以按照以下步骤操作:
1. 创建一个空的字典,用于存储不同单词和它们的频次。
2. 遍历文件夹kk中的所有文件,打开每个文件。
3. 逐行读取文件并拆分成单词。
4. 对每个单词进行处理,将所有字母转换为小写。
5. 检查这个单词是否已经存在于字典中,如果不存在,将其添加到字典,并将对应的频次设置为1;如果存在,将该单词对应的频次加1。
6. 重复步骤3到5,直到读取完所有文件。
7. 对字典按照频次降序排序,并取出前20组单词。
8. 打印出这20组单词及其对应的频次。
以下是一个示例代码:
```python
import os
import re
from collections import Counter
# 创建空字典
word_freq = {}
# 遍历文件夹kk中的文件
for file_name in os.listdir('kk'):
if file_name.endswith('.txt'):
file_path = os.path.join('kk', file_name)
# 打开文件
with open(file_path, 'r') as file:
# 逐行读取文件并拆分成单词
words = re.findall(r'\b\w+\b', file.read())
# 对每个单词进行处理,转换为小写
words = [word.lower() for word in words]
# 统计单词频次
word_freq.update(Counter(words))
# 对字典按照频次降序排序,并取出前20组单词
top_20_words = sorted(word_freq.items(), key=lambda x: x[1], reverse=True)[:20]
# 打印结果
for word, freq in top_20_words:
print(f'单词:{word},频次:{freq}')
```
这样,我们就能得到文件夹kk中文件的单词频次,并给出频次最高的前20组单词。
阅读全文