python中的内置函数max()和min()及mas()函数的高级用法

yipeiwu_com6年前Python基础

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

max(arg1, arg2, *args[, key])

函数功能为取传入的多个参数中的最大值,或者传入的可迭代对象元素中的最大值。默认数值型参数,取值大者;字符型参数,取字母表排序靠后者。还可以传入命名参数key,其为一个函数,用来指定取最大值的方法。default命名参数用来指定最大值不存在时返回的默认值。

eg

  a.传入的多个参数的最大值

print(max(1,2,3,4))

输出

  b.1 传入可迭代对象时,取其元素最大值

s = '12345'
print(max(s))

输出

  b.2 传入可迭代对象为空时,必须指定参数default,用来返回默认值

print(max((),default=1))
print(max(()))

输出

Traceback (most recent call last):
  File "G:/pycode/内置函数/max_ex.py", line 8, in <module>
    print(max(()))
ValueError: max() arg is an empty sequence

  c.传入命名参数key,其为一个函数,用来指定取最大值的方法

s = [
  {'name': 'sumcet', 'age': 18},
  {'name': 'bbu', 'age': 11}
]
a = max(s, key=lambda x: x['age'])
print(a)

输出

{'name': 'sumcet', 'age': 18}

min()函数与max()用法相同,返回最小值

下面看下python: min 和 max 函数

对于元组

max(tuple)

返回元组中元素最大值。

min(tuple)

返回元组中元素最小值。

cmp(tuple1,tuple2)

比较两个元组元素。

tuple(seq)

将列表转换为元组。

>>> min(1,2,3) 
>>> max(1,2,3) 

 对于二维数组

>>> a = array([[1,2,3],[0,0,0],[-1,-2,-3],[2,2,2]]) 
>>> a.min(0) #表示不同行相比较得出最小 
array([-1, -2, -3]) 
>>> a.min(1) #表示每一行自身元素相互比较得出最小 
array([ 1, 0, -3, 2]) 

下面再看下Python内置函数max()高级用法

不管是排序还是选取最大值或者最小值,都应该有个规则或者顺序,而平时我们所说的最大值或最小值实际上也是在某种排序规则或顺序下的最大值和最小值。Python内置函数max()、min()和sorted()以及列表方法sort()都有一个参数key用来指定排序规则,解决的就是这个问题。key参数应该是一个可调用对象,在Python中,类、自定义函数、内置函数、lambda表达式、带有特殊方法__call__()的对象都属于可调用函数。关于key参数的更多用法请参考文末的相关阅读。

总结

以上所述是小编给大家介绍的python中的内置函数max()和min()及mas()函数的高级用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python中abs&map&reduce简介

abs函数 可以把函数本身赋值给变量 >>> f = abs 变量可以指向函数 >>> f = abs >>> f(-10) 10...

实例讲解Python的函数闭包使用中应注意的问题

昨天正当我用十成一阳指功力戳键盘、昏天暗地coding的时候,正好被人问了一个问题,差点没收好功,洪荒之力侧漏震伤桌边的人,废话不多说,先上栗子(精简版,只为说明问题): from...

从零学Python之入门(二)基本数据类型

简单的数据类型以及赋值 变量不需要声明 Python的变量不需要声明,你可以直接输入: 复制代码 代码如下:>>>a = 10 那么你的内存里就有了一个变量a, 它的值...

django的聚合函数和aggregate、annotate方法使用详解

支持聚合函数的方法: 提到聚合函数,首先我们要知道的就是这些聚合函数是不能在django中单独使用的,要想在django中使用这些聚合函数,就必须把这些聚合函数放到支持他们的方法内去执...

python网络编程实例简析

本文实例讲述了python网络编程,分享给大家供大家参考。 具体方法如下: 服务端代码如下: from SocketServer import(TCPServer as TCP,...