python max和min函数的高级用法

时间:2022-09-28 11:17:42

首先我们先看看正常max和min 的普通使用方法:

students={'zs':18,'ls':21,'wu':19}
print(max(students.values()))  #21

这样的比较确实能取出最大的年龄,但是完全不知道这是谁对应的。我们可以使用下面的方法来处理一下数据可以实现我们的要求。

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函数就是去处理遍历的元素,决定要比较哪一部分。