如何将读取的文件单词转换为词频字典?
生成词频字典的实现方法
方法一:手动使用字典统计
你可以初始化一个空字典,遍历每个单词时更新它的计数:
word_count = {} with open(file, 'r', encoding='utf-8') as fp: lines = fp.readlines() for row in lines: for word in row.split(): # 可选:统一转为小写,避免大小写差异导致统计重复,比如"Hello"和"hello" # word = word.lower() if word in word_count: word_count[word] += 1 else: word_count[word] = 1 # 输出词频字典 print(word_count)
方法二:使用collections.Counter(更简洁高效)
Python标准库的collections.Counter专门用于统计可迭代对象中元素的出现次数,代码更简洁:
from collections import Counter word_list = [] with open(file, 'r', encoding='utf-8') as fp: for row in fp: word_list.extend(row.split()) # 同样可选转小写:word_list.extend(word.lower() for word in row.split()) # 直接生成词频字典 word_count = Counter(word_list) # 输出结果,Counter对象可以像普通字典一样使用 print(dict(word_count))
补充说明
row.split()默认按任意空白字符(空格、换行、制表符等)拆分单词,如果你的文本里有标点符号(比如逗号、句号),可以额外处理,例如用word.strip('.,!?')去掉常见标点后再统计。- 两种方法最终都会得到一个以单词为键、出现次数为值的字典。
内容的提问来源于stack exchange,提问作者CoderMan
相关产品推荐
相关产品推荐

