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设计】网站的支持!

相关文章

Django实现全文检索的方法(支持中文)

PS: 我的检索是在文章模块下 forum/article 第一步:先安装需要的包: pip install django-haystack pip install whoosh p...

python选择排序算法的实现代码

1.算法:对于一组关键字{K1,K2,…,Kn}, 首先从K1,K2,…,Kn中选择最小值,假如它是 Kz,则将Kz与 K1对换;然后从K2,K3,… ,Kn中选择最小值 Kz,再将Kz...

python如何读取bin文件并下发串口

下面是实现代码 # coding:utf-8 import time, serial from struct import * import binascii file = ope...

分析python切片原理和方法

分析python切片原理和方法

使用索引获取列表的元素(随机读取) 列表元素支持用索引访问,正向索引从0开始 colors=["red","blue","green"] colors[0] =="red"...

Python中变量交换的例子

Python追求简洁,诞生不少运算赋值规则,力求从简,其中就包括两个或者多个变量交换值。 普通语言中 复制代码 代码如下: # 声明变量 a=50 b=10 # 开始交换,先把其中一个值...