一般用法:比较几个参数的最大、最小值(只使用min为例)
a = [100, 1000, 2, 1, -4, 5, 6, 7, 8, 9]
print(min(a)) # 结果是-4
进阶:使用min中的key参数
a = [100, 1000, 2, 1, -4, 5, 6, 7, 8, 9]
def func(item):
return abs(item)
print(min(a,key=func))
分析:key的函数的参数是每一个前面的值,然后每个得到返回值,而其中最小的是1对应的绝对值,所以返回了1
整个过程大概分为三部分:(min为例)
1,原来每个数据都经过函数处理,得到结果
2,对处理后的结果比较,得到最小的值
3,最小值对应的原始值返回
一个实例对应下面的图
a = [1,3,-1,4]
def func(item):
return item**2
print(min(a,key=func))
一个高级实例
a = [1,3,-1,4]
def func(item):
return item**2
print(min(range(len(a)),key=a.__getitem__))
分析:
从显示来看,最后一行等价
print([0,1,2,3],key=a.__getitem__)
注释:列表的__getitem__的功能是通过列表索引得到列表中对应位置的元素