Python max函数中key的用法及原理解析


Posted in Python onJune 26, 2021

一、背景

起源于一个问题:怎样找到字符串中出现次数最多的字符

其实使用max函数就能很轻松的解决这个问题:

代码:

str1 = "AAAaaa8888899sssss"
print(max(str1, key=str1.count))

结果:8

二、原理

max()函数用于获得给定的可迭代对象中的最大值。

key是max()函数的一个参数,它辅助max函数找到最大元素。当max() 函数中有 key 参数时,求的是 value 的最大值,当没有 key 参数时,求的是 key 的最大值。

key可以对要比较的对象进行一些处理,以达到对对象进行特定规则的比较。

要在比较之前修改对象,或基于特定的属性/索引进行比较,必须使用key参数。

三、用法

获取字典中key的最大值

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1))
print(max(dict1.keys()))

获取字典中最大value对应的key值

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1, key=dict1.get))
print(max(dict1, key=lambda x: dict1[x]))

获取字典中最大value的值

dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1.values()))

获取句子中的最长单词

str3 = "Life is short , I use python"
print(str3.split())
print(max(str3.split(), key=len))

获取list中的最大值

list1 = ['11', 'zzz', '22', 'eee']
print(max(list1))

获取list中的最大数值

list2 = ['11', '3', '222', '67']
print(max(list2, key=lambda x: int(x)))

获取list中的绝对值最大的值

list3 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: abs(int(x))))

获取元组list中指定索引的最大值

list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
print(max(list4, key=lambda x: x[1]))

四、实例

str1 = "AAAaaa888ww8899sssss"
print(max(str1, key=str1.count))
print('--------------------------')
 
print(max(str1))
print('--------------------------')
 
 
list1 = ['11', 'zzz', '22', 'eee']
print(max(list1))
print('--------------------------')
 
list2 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: int(x)))
print('--------------------------')
 
list3 = ['11', '-399', '222', '67']
print(max(list2, key=lambda x: abs(int(x))))
print('--------------------------')
 
# list3 = [{'age': 20}, {'age': 23}]
# print(max(list3))
# print('--------------------------')
 
list4 = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
print(max(list4, key=lambda x: x[1]))
print('--------------------------')
 
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1, key=dict1.get))
print(max(dict1, key=lambda x: dict1[x]))
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1))
print(max(dict1.keys()))
 
dict1 = {'a': '11', 'c': '22', 'b': '33'}
print(max(dict1.values()))
print('--------------------------')

str3 = "Life is short , I use python"
print(str3.split())
print(max(str3.split(), key=len))
print(max(str3.split()))
print('--------------------------')

运行结果:

Python max函数中key的用法及原理解析

以上就是Python max函数中key的用法的详细内容,更多关于Python max函数key用法的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
python提取字典key列表的方法
Jul 11 Python
Python中的迭代器与生成器高级用法解析
Jun 28 Python
详解Python各大聊天系统的屏蔽脏话功能原理
Dec 01 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
Python2与Python3的区别实例总结
Apr 17 Python
Python配置虚拟环境图文步骤
May 20 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 Python
Pandas将列表(List)转换为数据框(Dataframe)
Apr 24 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 Python
pytorch中的numel函数用法说明
May 13 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
Jun 23 Python
Python访问Redis的详细操作
一文搞懂python异常处理、模块与包
Python实战之OpenCV实现猫脸检测
Python爬虫基础之简单说一下scrapy的框架结构
Python爬虫基础之初次使用scrapy爬虫实例
Python上下文管理器Content Manager
Jun 26 #Python
仅用几行Python代码就能复制她的U盘文件?
You might like
第八节--访问方式
2006/11/16 PHP
探讨如何把session存入数据库
2013/06/07 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
js函数调用常用方法详解
2012/12/03 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
在Python中实现贪婪排名算法的教程
2015/04/17 Python
python获取元素在数组中索引号的方法
2015/07/15 Python
儿童学习python的一些小技巧
2018/05/27 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
2014年校长工作总结
2014/12/11 职场文书
中秋客户感谢信
2015/01/22 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis