二级 Python 综合应用题

高仿模拟练习,完整编写程序并运行出结果,答案点击按钮展开

172综合应用题:jieba 分词词频统计

news.txt 是一段中文新闻文本。 用第三方库 jieba 的 lcut() 分词后: ① 输出总词数(去停用词前); ② 停用词列表 STOP = {'的','了','在','是','和','有'},去掉这些停用词后再统计总词数; ③ 按词频降序输出前 5 个高频词(格式 词:次数,每行一个)。 需用 jieba.lcut(s) 切词。

# news.txt 示例:
# 小明在学校的图书馆里学习了Python和数据分析,有非常大的收获。
import jieba
STOP = {'的','了','在','是','和','有'}
with open("news.txt") as f:
    text = f.read()
words = jieba.lcut(text)

# 请在下面编写完整程序:总词数;去停用词后词数;TOP5 词频
参考答案
# ① 总词数(含停用词)
print(len(words))
# ② 过滤停用词
kept = [w for w in words if w.strip() and w not in STOP]
print(len(kept))
# ③ 词频 + TOP5
freq = {}
for w in kept:
freq[w] = freq.get(w, 0) + 1
top5 = sorted(freq.items(), key=lambda x: x[1], reverse=True)[:5]
for w, c in top5:
print(f"{w}: {c}")
解析

jieba.lcut 返回列表形式分词结果(最常用的精确模式)。

STOP 集合判断 O(1) 去掉虚词;w.strip() 去空白字符避免把空行/标点统计成词。

TOP5 按次数降序取前 5。

示例含'小明''学校''图书馆''学习''Python' 高频词。

← 上一题 下一题 →

试题及答案仅供练习参考,不保证完全准确,正式考试请以NCRE官方教材及官方内容为准。

©2026 NCRE二级题库 版权所有