python max和min函数的高级用法

枫铃3年前 (2021-07-11)Python288

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

相关文章

python调用shell命令之三慷慨法

preface: 忙于近期的任务,须要用到libsvm的一些命令。如在终端执行javasvm_train train_file model_fi...

python中,如何将多行进行输出,同时将行尾的换行符去掉

比如我要输出字符串的常量,字符串常量要输出多行,该怎么解决呢 1.可以通过三引号("""...

python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)

模式可做操作若文件不存在是否覆盖r只能读报错-r+可读可写报错是w只能写创建是w+可读可写创建是a只能写创建否,追加写a+...

Python 中的属性访问与描述符

在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作。例如,有一个类实例对象foo&...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。