如何打印Counter中的前十个元素?

问题描述 投票:0回答:2

使用此代码,我首先打印按文本文件中最常用单词排序的所有元素。如何只打印前十个元素?

with open("something.txt") as f:
    words = Counter(f.read().split())
print(words)
python counter
2个回答
18
投票

来自文档:

most_common([n])

返回 n 个最常见元素的列表以及它们从最常见到最少的计数。如果省略 n 或 None,most_common() 返回计数器中的所有元素。具有相同计数的元素任意排序:

我会尝试:

words = Counter(f.read().split()).most_common(10)

来源:这里


3
投票

这将为您提供 words

Counter
中的
最常见
十个单词:

first_ten_words = [word for word,cnt in words.most_common(10)]

您只需要从

(word, count)
返回的对列表中提取第一个元素
Counter.most_common()
:

>>> words.most_common(10)
[('qui', 4),
 ('quia', 4),
 ('ut', 3),
 ('eum', 2),
 ('aut', 2),
 ('vel', 2),
 ('sed', 2),
 ('et', 2),
 ('voluptas', 2),
 ('enim', 2)]

通过简单的列表理解:

>>> [word for word,cnt in words.most_common(10)]
['qui', 'quia', 'ut', 'eum', 'aut', 'vel', 'sed', 'et', 'voluptas', 'enim']
© www.soinside.com 2019 - 2024. All rights reserved.