You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python文本文件单词统计优化:排序与去除标点问题

解决Python文本单词统计的两个问题

修改后的完整代码

import re
from collections import Counter

with open("data/aragon.txt", 'r', encoding='utf-8') as file:
    # 读取文本并转为小写,用正则提取纯单词
    text = file.read().lower()
    words = re.findall(r'\b\w+\b', text)
    # 统计单词次数并按从高到低排序
    wordcount = Counter(words)
    # 遍历输出排序后的结果
    for word, count in wordcount.most_common():
        print(f"{word}\t{count}")

关键修改说明

  • 过滤标点并统一单词格式:

    • text.lower()将所有文本转为小写,避免Ebro和ebro被统计为两个不同单词;
    • 正则表达式\b\w+\b精准匹配由字母、数字组成的完整单词,自动剔除带标点的内容(比如Ebro,、Spain.会被处理成ebro、spain)。
  • 按出现次数排序:

    • 直接调用Counter的most_common()方法,默认返回按出现次数从高到低排序的元组列表,遍历即可输出有序结果。
  • 文件操作优化:

    • 使用with语句管理文件,无需手动关闭文件,自动释放资源,避免遗漏关闭导致的问题。

内容的提问来源于stack exchange,提问作者user19965401

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:46:06