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使用urllib模块和pyquery实现阿里巴巴排名查询
Jan 16 Python
Python中的引用和拷贝浅析
Nov 22 Python
初步解析Python下的多进程编程
Apr 28 Python
python抓取百度首页的方法
May 19 Python
python获取指定路径下所有指定后缀文件的方法
May 26 Python
mac系统安装Python3初体验
Jan 02 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
基于python使用tibco ems代码实例
Dec 20 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
Python lambda表达式原理及用法解析
Aug 18 Python
Python日志器使用方法及原理解析
Sep 27 Python
浅谈pytorch中的dropout的概率p
May 27 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
php object转数组示例
2014/01/15 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
Python实现Const详解
2015/01/27 Python
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
深入理解Python中变量赋值的问题
2017/01/12 Python
python中format()函数的简单使用教程
2018/03/14 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
如何查看python关键字
2021/01/17 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
酒店营销策划方案
2014/02/07 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
婚前协议书怎么写
2014/04/15 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
MySQL里面的子查询的基本使用
2021/08/02 MySQL
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS