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中使用第三方模块的教程
Apr 27 Python
python实现将元祖转换成数组的方法
May 04 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
Aug 10 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
python使用pandas处理大数据节省内存技巧(推荐)
May 05 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
Python实现直播推流效果
Nov 26 Python
python实现逢七拍腿小游戏的思路详解
May 26 Python
Python进行特征提取的示例代码
Oct 15 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 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
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
smarty简单应用实例
2015/11/03 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Python简单进程锁代码实例
2015/04/27 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
Django 多环境配置详解
2019/05/14 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
学习Python列表的基础知识汇总
2020/03/10 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
初中英语演讲稿
2014/04/29 职场文书
小班评语大全
2014/05/04 职场文书
经济管理专业求职信
2014/06/09 职场文书
荒岛余生观后感
2015/06/09 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫