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 PIL实现几个简单的图片特效
Jan 18 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
python隐藏终端执行cmd命令的方法
Jun 24 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
如何实现Django Rest framework版本控制
Jul 25 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
python集合常见运算案例解析
Oct 17 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
Python检测端口IP字符串是否合法
Jun 05 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
Django封装交互接口代码
Jul 12 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
php检测文本的编码
2015/07/26 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
Jquery练习之表单验证实现代码
2010/12/14 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
微信小程序实现手势滑动效果
2019/08/26 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
python with statement 进行文件操作指南
2014/08/22 Python
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
Python底层封装实现方法详解
2020/01/22 Python
python接入支付宝的实例操作
2020/07/20 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
警察思想汇报
2014/01/04 职场文书
函授自我鉴定范文
2014/02/06 职场文书
销售团队口号大全
2014/06/06 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
python关于集合的知识案例详解
2021/05/30 Python
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js