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

如何在Python中提取文本10个高频词并仅返回单词列表(禁用NLTK)

问题描述

我有一段文本,想要提取其中出现频率最高的10个单词。使用text.most_common(10)方法时,得到的是包含出现次数的元组(不需要次数),如何修改代码使输出仅为单词组成的列表?注:程序中不能使用nltk库。

我的代码

tuple(map(str, Counter(text).most_common(10)))

当前输出

('science', 55)

期望输出

["science"]
解决方案

使用列表推导式提取每个元组的第一个元素即可:

from collections import Counter

# 替换text为你的实际文本内容
top_10_words = [word for word, count in Counter(text).most_common(10)]
print(top_10_words)

说明

  • Counter(text).most_common(10) 返回的是前10个高频词的元组列表,每个元组结构为(单词, 出现次数)
  • 列表推导式遍历这些元组,只保留元组的第一个元素(即单词),最终生成仅包含单词的列表
  • 你原代码里的tuple(map(str, ...))会把整个元组转为字符串,不符合需求,替换为上述写法即可得到目标输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:55:16