本文摘自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' ])
|
阅读剩余部分
相关阅读 >>
Python3如何使用pil
Python求n的阶乘
对于初学者如何理解 @classmethod 和@staticmethod
Python和go语言有区别吗
安装Python还要安装什么
如何利用Python制作exe文件[适合初学者]
Python如何判断一个字符串是否包含指定子字符串
Python的pandas中常用函数的总结
Python爬虫有什么用
探索Python模块自动搜索路径
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python实现找出序列中出现次数最多的元素