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

时间:2017-10-11 15:37:36

标签: python counter

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

with open("something.txt") as f:
    words = Counter(f.read().split())
print(words)

2 个答案:

答案 0 :(得分:9)

来自文档:

  

most_common([N])

     

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

我会尝试:

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

来源:here

答案 1 :(得分:2)

这会在words Counter中为您提供most common十个字:

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

您只需要从Counter.most_common()返回的(word, count)对列表中仅提取第一个元素:

>>> 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']