Python max函数中key的用法及原理解析
作者:神马东东2012 发布时间:2022-09-09 04:00:24
标签:Python,max,函数,key
一、背景
起源于一个问题:怎样找到字符串中出现次数最多的字符
其实使用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('--------------------------')
运行结果:
来源:https://blog.csdn.net/u013250071/article/details/118220139
0
投稿
猜你喜欢
- 代码片段一:alert(Function instanceof Object); // truealert(Object instanceo
- 本文介绍了python十进制和二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二进制的小数部
- 如果只是因为浏览者改变了浏览器的设置,或者因为浏览器不兼容,使自己精心制作的网页变得“面目全非”,那多令人沮丧!下面我们以网页爱好者的常用工
- function test(){ return 123; } 显然这是一个函数声明,那下面的呢 var b=f
- 如下所示:<!doctype html><html lang="en"> <head>
- SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI就是在HTML文件中,可
- 前言为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括:执行 SQL 的当前
- 1 简介孤立森林(isolation Forest)是一种高效的异常检测算法,它和随机森林类似,但每次选择划分属性和划分点(值)时都是随机的
- 在 ASP(VBScript 为语言)中,Asc 函数的返回值小于 0 的,可以被判断为中文字符。Asc 函数返回与字符串的第一个字母对应的
- Python有一随机函数可以产生[0,1)区间内的随机数,基于此函数生成随机分布在任意三角形内的点由数学知识得知:几何体的向量表达形式直线:
- 重装系统永远是个好办法,但有谁喜欢这么做呀:( 后来无意发现是卸载的时候没有卸载完全导致,下面给出完整的卸载MySQL 5.1的卸载方法:
- 本文通过实例解析了 SQL Server 数据库扩展存储过程,实现远程备份与恢复的方法和步骤实例说明: 环境:win2k+sqlserver
- 本文实例为大家分享了javascript实现向表格中动态加载数据的具体代码,供大家参考,具体内容如下首先在HTML中编写表格信息<ta
- 知识点:字符串在编程里,用的最多的就是字符串,字符串同时也是各类数据的中转站字符串运算符:编号运算符类型说明1+字符串拼接2*同一字符串多次
- 下面给大家介绍python实现简易版的web服务器,具体内容详情大家通过本文学习吧!1、请自行了解HTTP协议https://www.jb5
- 创建测试表-- ------------------------------ Table structure for check_test-
- 下面是模板的一般形式,显示了指定 SQL 查询和 XPath 查询的方式: <ROOT xmlns:sql="ur
- 思维导图 点击图片,可查看大图。介绍 情况:如果你的表结构设计不良或你的索引设计不佳,那么请你优化你的表结构设计和给予合适的索引,
- 前言大家都知道,英文的分词由于单词间是以空格进行分隔的,所以分词要相对的容易些,而中文就不同了,中文中一个句子的分隔就是以字为单位的了,而所
- 今天来给大家推荐一个Python当中超级好用的内置函数,那便是lambda方法,本篇教程大致和大家分享什么是lambda函数lambda函数