python max和min函数的高级用法
首先我们先看看正常max和min 的普通使用方法:
students={'zs':18,'ls':21,'wu':19}
print(max(students.values())) #21
这样的比较确实能取出最大的年龄,但是完全不知道这是谁对应的。我们可以使用下面的方法来处理一下数据可以实现我们的要求。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
students={'zs':18,'ls':21,'wu':19}
stu=zip(students.values(),students.keys())
print(max(stu)) #(21, 'ls')
#也就是说,我们在使用max或者min进行排序前,可以先对数据进行加工,这样可以达到更加理想的效果
我们在来看看max函数的原型。max(iterable, key, default) 。max函数的本质是去遍历传入的参数,然后返回它的一个元素,至于key是传入一个函数,它的作用就是决定要按什么东西去比较大小。
students=[
{'name':'zs','age':18},
{'name':'ls','age':21},
{'name':'ww','age':19}
]
print(max(students,key=lambda dict:dict['age'])) #{'name': 'ls', 'age': 21}
首先我们看看上面代码的返回值,不管后面key怎么操作,返回值一定是students的一个元素,也就是一个字典。然后后面的key函数就是去处理遍历的元素,决定要比较哪一部分。