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
投稿
猜你喜欢
- 读取binlog,方法有二:1.使用mysqlbinlog,详细用法,请参考MySQL手册2.使用MySQL的自带工具,SHOW BINLO
- 1、出现错误train_df = pd.read_csv( 'C:\Users\lenovo\Desktop\train.csv
- 目录1、吃金币2、打乒乓3、滑雪4、并夕夕版飞机大战5、打地鼠6、小恐龙7、消消乐8、俄罗斯方块9、贪吃蛇10、24点小游戏11、平衡木12
- 在网上搜过发现关于keras下的模型融合框架其实很简单,奈何网上说了一大堆,这个东西官方文档上就有,自己写了个demo:# Function
- 今天学习php,当然是要先安装好运行环境了,phpstyudy是一个运行php的集成环境, 一键安装对新手很友好,与时作为一个新手,便跟着教
- urllib3是一款Python 3的HTTP客户端。Python标准库提供了urllib。在Python 2中,另外提供了urllib2;
- 1.认识数组数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(
- 简介Pycharm安装以后必须激活后,才能正常的使用。否则就不能使用。激活PyCharm1、Activation code激活优点:Wind
- Item Pipeline简介Item管道的主要责任是负责处理有蜘蛛从网页中抽取的Item,他的主要任务是清晰、验证和存储数据。当页面被蜘蛛
- 我就废话不多说了,直接上代码吧!import Imagefrom datetime import datetimeimport osstr
- 本文实例为大家分享了PyQt5实现暗黑风格的计时器的具体代码,供大家参考,具体内容如下主要是学习多线程知识,使用的是QTime(),但是似乎
- 在Jupyter Notebook上使用Python+opencv实现如下简单车牌字符切割。关于opencv库的安装可以参考:Python下
- 主要功能在copyFiles()函数里实现,如下:def copyFiles(src, dst): sr
- 突然想到写这个话题,是基于最近在设计产品界面时,年糕一直在给我们灌输设计的品牌概念以及文化内涵要求而产生的,因之前在界面设计中也遇到一些困惑
- 本文实例讲述了Python基于opencv的图像压缩算法。分享给大家供大家参考,具体如下:插值方法:CV_INTER_NN - 最近邻插值,
- ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起
- 尽管有很多规范URL的标准,例如RFC 3987,但实际应用中却非常混乱。本文主要介绍浏览器发送URL到服务器的一些特性,作为开发和应用的参
- 说到网络产品,离不开的话题就是用户,就像传统行业的消费者。人是复杂的,网民的用户行为更加复杂,用户和用户是不一样的,或者说,每个用户都不一样
- 网页路径问题可以说是在页面设计或程序中比较典型的问题,处理得不好会给你的带来很大的麻烦,如何才能彻底解决路径问题呢!asp之家为你特别准备了
- Python中try块可以捕获测试代码块中的错误。except块可以处理错误。finally块可以执行代码,而不管try-和except块的