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中的JSON使用
Apr 28 Python
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 Python
Python while 循环使用的简单实例
Jun 08 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
Django框架首页和登录页分离操作示例
May 28 Python
Django中的用户身份验证示例详解
Aug 07 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
MATLAB 全景图切割及盒图显示的实现步骤
May 14 Python
让文件路径提取变得更简单的Python Path库
May 27 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 Python
浅析Python OpenCV三种滤镜效果
Apr 11 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
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
javascript轮播图算法
2016/10/21 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
Python编码时应该注意的几个情况
2013/03/04 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
Python序列化pickle模块使用详解
2020/03/05 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
中秋节主持词
2014/04/02 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
法定代表人身份证明书
2014/09/10 职场文书
美丽人生观后感
2015/06/03 职场文书
高中生综合素质评价范文
2015/08/18 职场文书