51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2358|回复: 0
打印 上一主题 下一主题

结合匿名函数为字典排序

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2019-6-22 11:25:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    代码:
    1. stus = [
    2.     {"name":"zhangsan", "age":18},
    3.     {"name":"lisi", "age":19},
    4.     {"name":"wangwu", "age":17}
    5. ]
    6. stus.sort(key = lambda x:x['name'])
    7. print(stus)
    复制代码
    结果:
    1. [{'name': 'lisi', 'age': 19}, {'name': 'wangwu', 'age': 17}, {'name': 'zhangsan', 'age': 18}]
    复制代码
    注:
    lambda函数的语法只包含一个语句,如下:
    lambda [arg1 [,arg2,.....argn]]:expression
    例如:
    sum = lambda arg1, arg2: arg1 + arg2
        #调用sum函数
    print "Value of total : ", sum( 10, 20 )
    结果是30。

    因此,上例中是把stus这个字典做为变量传给lambda的变量x,然后执行表达式x['name'],提取出所有的name,然后交给sort进行排序。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 12:44 , Processed in 0.084926 second(s), 32 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表