我是靠谱客的博主 温暖发带,最近开发中收集的这篇文章主要介绍python出现的次数最多的元素_python:用collections.Counter来计数,找出次数最多的元素。...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

尽管我们创建字典,用for循环计数,也能计数,但有现成的为什么不用呢?

collections.Counter(注意C是大写)可以对一个序列中的元素进行计数。

需要注意的是,Counter本身是个字典,key:value  为   元素:数量,可以进行一切字典操作。

而且除此之外Counter还支持,形如a-b,a+b这样的数学操作,即减去相应元素的次数和累加相应元素的次数。

>>> words = [

...     'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes',

...     'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the',

...     'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into',

...     'my', 'eyes', "you're", 'under'

... ]

>>> from collections import Counter

>>> word_counts = Counter(words)

>>> # 出现频率最高的3个单词

... top_three = word_counts.most_common(3)

>>> top_three

[('eyes', 8), ('the', 5), ('look', 4)]

但是有个问题:如果有多个元素出现的次数都是最多(比如都是2次),我们怎么输出同时输出这些并列rank的元素呢,看个例子。

>>> from collections import Counter

>>> a = [1,2,2,3,3]

>>> c = Counter(a)

>>> c.most_common(1)

[(2, 2)]            #这里只输出了一个元素,但是3同样出现了2次

>>> c.most_common(2)

[(2, 2), (3, 2)]

>>> t = [item for item in c.items() if item[1]==c.most_common(1)[0][1]]

>>> t

[(2, 2), (3, 2)]

可以使用列表生成器来过滤。

支持特殊的数学运算

>>> words = [

...     'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes',

...     'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the',

...     'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into',

...     'my', 'eyes', "you're", 'under'

... ]

>>> morewords = ['why','are','you','not','looking','in','my','eyes']

>>> a = Counter(words)

>>> b = Counter(morewords)

>>> a+b

Counter({'eyes': 9, 'the': 5, 'look': 4, 'my': 4, 'into': 3, 'not': 2, 'around': 2, "don't": 1, "you're": 1, 'under': 1, 'why': 1, 'are': 1, 'you': 1, 'looking': 1, 'in': 1})

>>> a-b

Counter({'eyes': 7, 'the': 5, 'look': 4, 'into': 3, 'my': 2, 'around': 2, "don't": 1, "you're": 1, 'under': 1})

最后

以上就是温暖发带为你收集整理的python出现的次数最多的元素_python:用collections.Counter来计数,找出次数最多的元素。...的全部内容,希望文章能够帮你解决python出现的次数最多的元素_python:用collections.Counter来计数,找出次数最多的元素。...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部