首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >考点:最值应用,基本排序法,复杂排序法,sorted函数的灵活运用【Python习题05】

考点:最值应用,基本排序法,复杂排序法,sorted函数的灵活运用【Python习题05】

作者头像
刘金玉编程
发布2021-12-07 15:14:47
2780
发布2021-12-07 15:14:47
举报
文章被收录于专栏:编程创造城市编程创造城市

题目:

找到年龄最大的人,并输出。

请找出程序中有什么问题。

尽量使用sorted函数实现!

考点:

此题考点主要是对数值的比较,然后对属性的排序。

输入输出:

{'li': 18, 'wang': 50, 'zhang': 20, 'sun': 22}

排序person2

{'li': 18, 'zhang': 20, 'sun': 22, 'wang': 50}

考题分析:

  1. 一般情况我们只会对数值比较,然后针对数值排序,但在实际工作中,这些数值往往都是在对象内的,因此我们此题就是为了练习对象内的数值比较,让对象进行排序。
  2. 这里的输入,我们采用字典 {"li": 18, "wang": 50, "zhang": 20, "sun": 22}

所以,我们需要比较的是每个人的年龄。,当我们做好排序,就可以指导最值了。

3.常规的比较方法就是例如本地源代码的第一种方法,当我们比较出更大的年龄时,同时带上对应的姓名。

4.此题的第二与第三种方法都是利用了cmp_to_key函数来进行复杂排序,这个函数在functools模块,巧妙运用后可以对复杂对象进行排序。

# -*- coding: utf-8 -*-
"""
@File文件    :   ljytest76
@Time创建时间    :    2021/11/25
@Author作者  :   刘金玉
@Contact联系方式 :   selidev@qq.com   编程创造城市 http://bcczcs.com
注:作者信息请保留!否则必究法律责任!
刘金玉编程,编程创造城市!
作者微信号:selidev
作者抖音号:selidev
作者B站:刘金玉编程
微信公众号:编程创造城市
题目:找到年龄最大的人,并输出。请找出程序中有什么问题。
"""
#第一种方法
# if __name__ == '__main__':
#     person = {"li": 18, "wang": 50, "zhang": 20, "sun": 22}
#     max_=18
#     max_key="li"
#     for k,v in person.items():
#         if v>max_:
#             max_=v
#             max_key=k
#     print(max_key,max_)
#
#
# #第二种方法
from functools import cmp_to_key
person2 = {"li": 18, "wang": 50, "zhang": 20, "sun": 22}
print(person2)
# print(person2.keys())
print("排序person2")
def tfunc(k1,k2):
    if person2[k1]>person2[k2]:
        return 1
    else:
        return -1

tperson=sorted(person2,key=cmp_to_key(tfunc))
resultdic={}
for k in tperson:
    resultdic[k]=person2[k]
print(resultdic)

#复杂排序案例刘金玉
# from functools import cmp_to_key
# p=[("a",6),("k",1),("d",23)]
# def my(a,b):
#     print(a,b)
#     if a[1]>b[1]:
#         return 1
#     else:
#         return -1
# p2=sorted(p,key=cmp_to_key(my))
# print(p2)

总结:通过此题,我们主要学习如何使用soted函数对更为复杂的对象进行排序。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档