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('--------------------------')
运行结果:
Python max函数中key的用法相关推荐
- python max函数中使用key
博客转移到个人站点:python max函数中使用key 代码: a = dict(((1,3),(0,-1),(3,21))) m = max(a, key=a.get) 为什么这返回与最大值对应的 ...
- python key=lambda函数_使用’key’和lambda表达式的python max函数
我来自OOP背景,尝试学习Python.我使用的是max函数,该函数使用lambda表达式返回Player类型的实例,其中players列表中的totalScore最大. def winner(): ...
- Python max 函数 - Python零基础入门教程
目录 一.Python max 函数简介 二.Python max 函数使用 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一. ...
- python max函数_python max函数
Python max函数 最后更新于:2020-03-21 12:02:18 一.python max函数简介 max函数返回给定参数的最大值,参数可以为序列语法: max( x, y, z, ... ...
- python在函数中传入多个实参
python在函数中传入多个实参 def make_pizza(*toppings):print("-----------------")print(toppings)make_p ...
- Pytorch中tensor维度和torch.max()函数中dim参数的理解
Pytorch中tensor维度和torch.max()函数中dim参数的理解 维度 参考了 https://blog.csdn.net/qq_41375609/article/details/106 ...
- 习题 9.5 建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。
C++程序设计(第三版) 谭浩强 习题9.5 个人设计 习题 9.5 建立一个对象数组,内放5个学生的数据(学号.成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成 ...
- python中的func函数_如何解释python func函数中的n?
Func函数第一次了解知道是学习闭包章节中的,而后,因为函数本身存在的意义涵盖很多知识点,所以经常使用,在调用的时候,看到一个问题,就是关于python func函数中的n是什么?大家有没有考虑过呢? ...
- python max函数_python的max函数的用法
本文,用max函数来找出数据中的最大值. 工具/原料 电脑 python 方法/步骤 1 从一串数字里面,找出最大值. max([5,6,7,8]) 2 从字符串里面找出最大值. max('56789 ...
- python max函数key_Python标准库:内置函数max(iterable, *[, key, default]) | 学步园
max(arg1, arg2, *args[, key]) 本函数是迭代对象iterable进行比较,找出最大值返回.当key参数不为空时,就以key的函数对象为判断的标准. 例子: #max() a ...
最新文章
- linux安装 ”NTFS“ 文件系统
- R语言数据可视化 ggplot2基础3 添加几何对象
- python连接oracle数据库的方法_Python3.6连接Oracle数据库的方法详解
- NYOJ 420 p次方求和 大数的幂
- A Simple Problem with Integers POJ - 3468(线段树+区间查询+区间修改+建树+懒惰标记模板)+(树状数组)
- java登录界面命令_Java命令行界面(第29部分):自己动手
- 文末送书啦!| Device Mapper,那些你不知道的Docker核心技术
- Visual C# 2008+SQL Server 2005 数据库与网络开发――3.2.4 匿名类型
- Web安全相关(二):跨站请求伪造(CSRF/XSRF)
- java操作数据库,以页面显示学生信息为例
- 视觉SLAM算法框架解析(3) SVO
- vue 页面保存为本地图片
- 数据分析师都有哪些发展方向?
- GitHub双重认证问题
- Programming Challenges 习题 1.6.7
- FPGA电源设计方案
- Python语句十大优雅写法
- 如何用语音模块SYN6288播报DHT11温湿度传感器传回来的数值
- 从零开始搭建仿抖音短视频App--项目介绍和架构设计演示
- 鲁大师性能测试要装什么软件吗,鲁大师怎么给电脑跑分?赶快看看你的电脑性能如何吧!...
热门文章
- 游侠小秘书基本智能框架完成!!!
- UnixC的第十三天
- Matlab读取音频文件并进行分析
- java 显示数据库_java连接数据库并显示数据
- Java 连接 数据库 (idea2022 + MySQL 演示,Oracle 通用)
- linux镜像ISO文件下载
- html 字体思源_CSS3嵌入字体@font-face调用字体(思源宋体regula/PingFang SC/ttf/woff)...
- 【Java】菜鸟教程Java基础测试刷题笔记
- 2023年数据结构考研知识梳理视频哪里有
- 软件任我行 10步菜鸟快易通上手教程