本文摘自php中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于Python实现找出序列中出现次数最多的元素 (附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1、需求
我们有一个元素序列,想知道在序列中出现次数最多的元素是什么?2、解决方案
collections模块中国的Counter类正是为此类问题而设计的。它甚至有一个非常方便的most_common()方法可以告诉我们答案。可以给Counter对象提供任何可哈希的对象序列作为输入。
实例:假设一个列表,其中有一些列的单词,我们想找出哪些单词出现的最为频繁:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | from collections import Counter
words=[
'a' , 'b' , 'c' , 'd' , 'e' , 'f' ,
'a' , 'b' , 'c' , 'd' , 'e' , 'f' ,
'a' , 'b' , 'c' ,
'a' , 'b' ,
'a'
]
#利用Counter统计每个元素出现的个数
words_counts=Counter(words)
#出现次数最多的3个元素
top_three=words_counts.most_common(3)
#返回元素和出现次数
print (top_three)
#Counter底层是一个字典,可以在元素和他们出现的次数之间做映射,例如:
#输出元素【f】出现的次数
print (words_counts[ 'f' ])
#如果想手动增加计数个数,只需要简单的自增
words_counts[ 'f' ]+=1
print (words_counts[ 'f' ])
#如果想手动增加计数个数,还可以使用update()方法:
#只针对元素【f】增加一次计数
words_counts.update( 'f' )
print (words_counts[ 'f' ])
#为所有计数增加一次
morewords=[
'a' , 'b' , 'c' , 'd' , 'e' , 'f'
]
words_counts.update(morewords)
print (words_counts[ 'f' ])
|
阅读剩余部分
相关阅读 >>
介绍Python爬取网页
Python中如何用django连接数据库(图文)
Python工作岗位有哪些
整理的一些Python常用方法供大家参考
Python怎么输入多行
Python实现读写excel和修改excel的代码
【插入排序实现】Python
什么是Python中的协程?(实例解析)
Python中的函数介绍
Python处理gif动态图的解析与合成操作的介绍
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python实现找出序列中出现次数最多的元素