Python找出列表中出现次数最多的元素三种方式


Posted in Python onFebruary 24, 2020

通过三种方式给大家介绍,具体详情如下所示:

方式一:

原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中元素的count

# 字典方法
words = [
 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I',
 'need', 'skills', 'more', 'my', 'ability', 'are',
 'so', 'poor'
]
dict1 = {}
for i in words:
 if i not in dict1.keys():
  dict1[i] = words.count(i)
print(dict1)

运行结果:

{'my': 2, 'skills': 2, 'are': 2, 'poor': 3, 'I': 2, 'am': 1, 'need': 1, 'more': 1, 'ability': 1, 'so': 1}

方式二

原理:使用setdefault函数,setdefault()函数,如果键不存在于字典中,将会添加键并将值设为默认值。
打个比方,我们要查找的这个键不在字典中,我们先将它置为0,然后再加1,再查找到这个键的时候,这个时候它是存在这个字典里面的,故这个setdefault函数不生效,然后我们再把次数加1

words = [
 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I',
 'need', 'skills', 'more', 'my', 'ability', 'are',
 'so', 'poor'
]
d = dict()
for item in words:
 # setdefault()函数,如果键不存在于字典中,将会添加键并将值设为默认值
 d[item] = d.setdefault(item, 0) + 1
print(d)

运行结果:

{'my': 2, 'skills': 2, 'are': 2, 'poor': 3, 'I': 2, 'am': 1, 'need': 1, 'more': 1, 'ability': 1, 'so': 1}

方式三

原理:使用collections模块的Counter类
这个模块很强大,尤其是这个类。他可以直接帮我们计数,然后再帮我们排序好。从大到小

from collections import Counter
words = [
 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I',
 'need', 'skills', 'more', 'my', 'ability', 'are',
 'so', 'poor'
]
collection_words = Counter(words)
print(collection_words)
print(type(collection_words))

运行结果:

Counter({'poor': 3, 'my': 2, 'skills': 2, 'are': 2, 'I': 2, 'am': 1, 'need': 1, 'more': 1, 'ability': 1, 'so': 1})
<class 'collections.Counter'>

还可以输出频率最大的n个元素,类型为list

most_counterNum = collection_words.most_common(3)
print(most_counterNum)
print(type(most_counterNum))

运行结果:

[('poor', 3), ('my', 2), ('skills', 2)]
<class 'list'>

ounter类支持collections.Counter类型的相加和相减

也就是用Counter(words)之后,这个类型是可以相加减的,只支持相加减
例子:

print(collection_words + collection_words)

这里要注意:不能为了图方便进行collection_words * 2,因为类型不同,2为int,故不能进行运算
运行结果:

Counter({'poor': 6, 'my': 4, 'skills': 4, 'are': 4, 'I': 4, 'am': 2, 'need': 2, 'more': 2, 'ability': 2, 'so': 2})

总结

到此这篇关于Python找出列表中出现次数最多的元素三种方式的文章就介绍到这了,更多相关python找出出现次数最多的元素内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之做一个小游戏
Sep 28 Python
Python入门篇之条件、循环
Oct 17 Python
python如何在终端里面显示一张图片
Aug 17 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
python实现log日志的示例代码
Apr 28 Python
Python函数参数操作详解
Aug 03 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
基于python实现图片转字符画代码实例
Sep 04 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 Python
Python初学者必备的文件读写指南
Jun 23 Python
Python流程控制常用工具详解
Feb 24 #Python
深入浅析Python 函数注解与匿名函数
Feb 24 #Python
python数据预处理方式 :数据降维
Feb 24 #Python
python实现PCA降维的示例详解
Feb 24 #Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 #Python
python 线性回归分析模型检验标准--拟合优度详解
Feb 24 #Python
最小二乘法及其python实现详解
Feb 24 #Python
You might like
怎样辨别一杯好咖啡
2021/03/03 新手入门
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
jquery 3D球状导航的文章分类
2010/07/06 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
Django 数据库同步操作技巧详解
2019/07/19 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
学习Python列表的基础知识汇总
2020/03/10 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
英文留学推荐信范文
2014/01/25 职场文书
自动一体化专业求职信
2014/03/15 职场文书
创业女性典型材料
2014/05/02 职场文书
计生工作先进事迹
2014/08/15 职场文书
义卖募捐活动总结
2015/05/09 职场文书
文艺节目主持词
2015/07/06 职场文书
2015年高三教学工作总结
2015/07/21 职场文书