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定时执行指定函数的方法
May 27 Python
Python 常用string函数详解
May 30 Python
python使用turtle库绘制时钟
Mar 25 Python
Django添加favicon.ico图标的示例代码
Aug 07 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
Nov 06 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
在Python中如何传递任意数量的实参的示例代码
Mar 21 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
Oct 30 Python
Python拼接字符串的7种方式详解
Mar 19 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
May 24 Python
利用For循环遍历Python字典的三种方法实例
Mar 25 Python
Python访问Redis的详细操作
一文搞懂python异常处理、模块与包
Python实战之OpenCV实现猫脸检测
Python爬虫基础之简单说一下scrapy的框架结构
Python爬虫基础之初次使用scrapy爬虫实例
Python上下文管理器Content Manager
Jun 26 #Python
仅用几行Python代码就能复制她的U盘文件?
You might like
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
Python获取央视节目单的实现代码
2015/07/25 Python
python根据京东商品url获取产品价格
2015/08/09 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
八年级生物教学反思
2014/01/22 职场文书
校园文化建设方案
2014/02/03 职场文书
大学开学计划书
2014/04/30 职场文书
清明扫墓感想
2015/08/11 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js