当前位置:   article > 正文

python笔记--max函数操作_.max(-1) python

.max(-1) python

python笔记–max函数操作

前言

在平时使用max和min函数时,往往只用到了其中最简单的操作,之后敲代码的时候需要通过value的最大值返回所对应的key值,发现max/min函数还有进阶操作,故在此记录。

max函数

max函数机制和min函数机制是一样的,这里只介绍max函数。

#max函数语法
max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])
  • 1
  • 2
  • 3

根据上面语法,max函数的参数有两种传递方式:
1.传递1个或多个同类型可迭代对象;
2.传递多个字符串或数字。

max函数使用

普通用法

print(max(-1,1,2,9))   #结果为9
print(max([5,6,7,10])) #结果为10
print(max('abcfgh'))   #结果为h
  • 1
  • 2
  • 3

key值探索

求list中平方最大的值

data = [-9, -8, -7, 1, 3, 6]
result = max(data, key=lambda x: x*x)
print(result)   #结果为-9,注意返回的是x,不是对x操作后的值
  • 1
  • 2
  • 3

对字典dict操作(根据最大的value值返回其对应的key)

data = {'a':1,'b':7,'c':12,'d':10,'e':12,'f':3}

result_max = max(data,key=lambda x:data[x])
print(result_max)     #结果为c

#print(max(data,key=data.get)) #效果同上面一样
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在上面的例子中,max函数第一个参数是可迭代内容dict,第二个参数key为函数。其过程为max进行for i in 遍历迭代器,将迭代器的每一个返回值当做参数传给key=func中的函数func,之后将处理后的结果进行比较大小;本例对data[x](value值)进行大小比较,返回的是x(key值)。
需要注意的是,默认情况下,dict迭代的是key。
但是在上面的例子中,我们会发现,'c’和’e’对应的value都是12,但只返回了一个key,如果要返回多个key,如下:

data = {'a':1,'b':7,'c':12,'d':10,'e':12,'f':3}

keys = []
for key, value in data.items():
    if value == max(data.values()):
        keys.append(key)
print(keys)    #结果为['c','e']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参考

https://blog.csdn.net/sinat_38068807/article/details/86021686
https://www.zky.name/article/51.html
https://blog.csdn.net/weixin_41788255/article/details/79634142

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/357301
推荐阅读
相关标签
  

闽ICP备14008679号