max 是 Python 中的内置函数,它可以用于求出可迭代对象中的最大值。

语法:

它的语法如下:

max(iterable, *[, key, default])

其中,iterable 参数是一个可迭代对象,例如列表、元组或字符串,它指定要在其中查找最大值的对象。

  • key 参数是一个可选参数,指定用于比较的函数。当指定了 key 参数时,max 函数将使用这个函数对每个元素进行转换,然后比较转换后的值来确定最大值。

  • default 参数是一个可选参数,指定当 iterable 为空时返回的默认值。

求最大值

下面是一个例子,展示了如何使用 max 函数来求出列表中的最大值:

numbers = [1, 2, 3, 4, 5]maximum = max(numbers)
print(maximum)  # 输出:5

在这个例子中,我们创建了一个名为 numbers 的列表,并调用 max 函数来求出这个列表中的最大值。由于列表 numbers 中的最大值是 5,因此函数 max 返回 5 并将其赋给变量 maximum。最后,我们使用 print 函数将变量 maximum 的值输出到屏幕上。

还有一点需要注意:如果 iterable 为空,max 函数会引发一个 ValueError

判断字符串

如果我们想要求出一个字符串中的最大字符,可以像下面这样使用 max 函数:

string = 'abcde'
maximum = max(string)
print(maximum)  # 输出:e

如果我们想要比较字符串中字符的 ASCII 码来确定最大值,可以将 key 参数设置为内置函数 ord,这样就可以使用 ASCII 码来比较字符的大小了。例如:

string = 'abcde'
maximum = max(string, key=ord)
print(maximum)  # 输出:e

求元组最大值

如果我们想要求出一个元组中的最大值,可以像下面这样使用 max 函数:

tuple = (1, 2, 3, 4, 5)
maximum = max(tuple)
print(maximum)  # 输出:5

求字典最大值

如果我们想要求出一个字典中的最大值,可以使用 max 函数的 key 参数指定要比较的键:

dictionary = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
maximum = max(dictionary, key=lambda x: dictionary[x])
print(maximum)  # 输出:'e'

如果我们想要在 iterable 为空时指定一个默认值,可以使用 max 函数的 default 参数。例如:

numbers = []
maximum = max(numbers, default=-1)
print(maximum)  # 输出:-1

在这个例子中,我们使用了空列表作为 iterable 参数,并将 default 参数设置为 -1。因此,当 iterable 为空时,max 函数会返回 -1。

求自定义对象

如果我们想要求出一个自定义类型的对象的最大值,可以使用 max 函数的 key 参数指定一个用于比较的函数。

例如,假设我们有一个名为 Person 的自定义类型,其中包含两个字段:nameage。我们可以使用下面的代码来求出年龄最大的人:

class Person:def __init__(self, name, age):self.name = nameself.age = agepeople = [Person('Alice', 20), Person('Bob', 30), Person('Charlie', 25)]
maximum = max(people, key=lambda x: x.age)
print(maximum.name)  # 输出:'Bob'

在这个例子中,我们使用了一个匿名函数来比较每个人的年龄。这个匿名函数会返回一个人的年龄,因此 max 函数会使用这个年龄来比较大小。最后,我们使用变量 maximumname 字段输出年龄最大的人的名字。

关于key示例分析

def most_freq(list):return max(set(list), key=list.count)
Test = [10, 10, 20, 20, 10, 30, 30, 30, 20, 10]
print(most_freq(Test)) # 10

这段代码定义了一个函数 most_freq,它接受一个参数 list,并返回这个列表中出现次数最多的元素。

在函数体内,我们首先调用内置函数 set 并将列表 list 作为参数传递给它。这个函数会创建一个新的集合,其中包含列表 list 中所有不重复的元素。接下来,我们调用 max 函数并将这个集合作为参数传递给它。

我们还使用了 max 函数的 key 参数,指定了一个函数 list.count。这个函数会返回列表 list 中给定元素的出现次数。因此,max 函数会使用这个函数来比较集合中的元素,并返回出现次数最多的元素。

接下来,我们调用函数 most_freq 并将列表 Test 作为参数传递给它。这个函数会返回列表 Test 中出现次数最多的元素,并将其作为结果返回。最后,我们使用 print 函数将结果输出到屏幕上。

因此,这段代码的输出应该是 10

Python中max函数key的用法详解相关推荐

  1. Python中sorted()函数的高级用法详解

    sorted()函数的作用是对对象进行排序 函数函数格式: sorted(iterable,key,reverse),key参数可传入一个自定义函数 下边通过具体例子说明sorted的具体用法: 一维 ...

  2. matlab中scatter函数怎么用,Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  3. python scatter函数参数,Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  4. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  5. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  6. python中tile的用法_python3中numpy函数tile的用法详解

    tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组.比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的例子来说明问题 ...

  7. python3 isinstance用法_对python中assert、isinstance的用法详解

    1. assert 函数说明: Assert statements are a convenient way to insert debugging assertions into a program ...

  8. python的raw_ input是什么意思-对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...

  9. python中str和input_对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...

最新文章

  1. 怎样学好python-零基础如何学好Python?
  2. redis系列:通过文章点赞排名案例学习sortedset命令
  3. 优秀的程序员都有哪些习惯?
  4. word中安装MathType
  5. python可变序列_python序列中可变数据类型有什么
  6. 解锁环境变量在云原生应用中的各种姿势
  7. linux安装pgsql源码包解压,在Linux(centos)中使用源码安装pgRouting
  8. react笔记-设计复合式控件(三)
  9. ffmpeg 推流同时录像命令_ffmpeg推流命令
  10. java中mouselistener的用法_关于MouseListener接口的简单使用
  11. android语音识别 android.speech 包分析
  12. 在 Vue 中是使用插槽
  13. [图]礼仪大赛策划方案:使用PPT,如何打造一场专业而又经济的礼仪大赛呢?
  14. 无线路由器破解教程-CDlinux(by 星空武哥)
  15. 学习编程必备常用英语单词
  16. 如何编辑图片合成图片?让我们来看看这些合成方法
  17. 计算机技术应用广泛以下属于科学计算方面,2016年12月计算机二级MSoffice选择题习题...
  18. nms剔除包含的bbox
  19. 第二章.Java程序设计基础
  20. 网络拓扑abor.js库---力导向

热门文章

  1. [译] Genymotion 现在提供了 Open GApps 安装程序
  2. [WTL/ATL]_[初级]_[TreeView控件如何显示ToolTip]
  3. 卡尔曼滤波器 bilibili视频版
  4. 软件工程师转正申请_这是申请软件工程师工作的4种最佳方法-以及如何使用它们。...
  5. 周岁虚岁计算html源码,在excel中如何计算周岁.虚岁以及实际年龄?
  6. spring boot Actuator之自定义Endpoint
  7. win7变成xp风格了怎么改回_win7桌面怎么改成xp风格?win7桌面改成xp风格方法
  8. 在手机上查看vue项目
  9. 开发2年半,「纪念碑谷」的团队做了一款开放世界“观鸟”游戏
  10. 修复VSCode关联文件的图标 - Python, C++,Java