素简生香 发表于 2017-11-16 14:49:36

sorted 的高级用法

本帖最后由 素简生香 于 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,y))[('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))[('a', 1), ('b', 2), ('c', 3), ('d', 4)]注意 cmp 和 key 的参数均为 lambda 表达式,但是 key 的运行效率要比 cmp 高,故而通常建议用 key。 思考题 思考一下,若先对x排序,在对 x排序,key 的参数,应该如何修改?参考代码回帖可见**** Hidden Message *****

梦想家 发表于 2017-11-17 09:06:14

123123123

梦想家 发表于 2018-5-14 17:48:56

:victory:
页: [1]
查看完整版本: sorted 的高级用法