51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1914|回复: 2
打印 上一主题 下一主题

[python] sorted 的高级用法

[复制链接]
  • TA的每日心情

    2017-11-21 14:43
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-11-16 14:49:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 素简生香 于 2017-11-17 11:30 编辑

    sorted 的高级用法
    日常使用 python 内建函数 sorted 时候,最多用到降序还是升序排序,也就是对于参数 reverse 的使用,默认情况下 reverse False,即为升序排序,相反的为 True,则为降序排列;然而有些时候,我们需要用到更高级的 cmp key 参数,下面先看一下 sorted 的帮助文档
    联机帮助文档
    Help on built-in function sorted in module __builtin__:
    sorted(...)
        sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
    (END)
    默认情况下,cmp key 均为 None。 下面先看一下 cmp 的使用示例:
    >>>aList = [('b',2),('a',1),('c',3),('d',4)]
    >>>print sorted(aList, cmp=lambda x,y:cmp(x[1],y[1]))
    [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
    在看一个 key 的使用示例:
    >>>aList = [('b',2),('a',1),('c',3),('d',4)]
    >>>print sorted(aList, key=lambda x:x[1]))
    [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
    注意 cmp key 的参数均为 lambda 表达式,但是 key 的运行效率要比 cmp 高,故而通常建议用 key
    思考题
    思考一下,若先对x[1]排序,在对 x[2]排序,key 的参数,应该如何修改?
    参考代码回帖可见
    游客,如果您要查看本帖隐藏内容请回复

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 03:14 , Processed in 0.065787 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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