为了账号安全,请及时绑定邮箱和手机立即绑定

关于sorted的一些疑问~

关于sorted的一些疑问~

W_Qing 2016-04-22 23:36:53
>>> a = [('b',2),('a',1),('c',0)]>>> sorted(a)[('a', 1), ('b', 2), ('c', 0)]>>> b =sorted(a,key=lambda w:w[0])>>> b[('a', 1), ('b', 2), ('c', 0)]>>> b =sorted(a,key=lambda w:w[1])>>> b[('c', 0), ('a', 1), ('b', 2)]>>> b =sorted(a,cmp=lambda w,q:cmp(w[1],q[1]))>>> b[('c', 0), ('a', 1), ('b', 2)]这里b =sorted(a,key=lambda w:w[1])和b =sorted(a,cmp=lambda w,q:cmp(w[1],q[1]))结果是一样的.不懂key,lambda,cmp什么作用.尤其是lambda的用法!!>>> b =sorted(a,key=lambda w:w[1],reverse=1)>>> b[('b', 2), ('a', 1), ('c', 0)]这个reverse去查过还是不怎么明白....看的东西大概如下:如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。因此,如果我们要实现倒序排序,只需要编写一个reversed_cmp函数:def reversed_cmp(x, y):     if x > y:         return -1     if x < y:         return 1     return 02.这个reversed判断的很绕,  比如a < b 返回1,那么a排在b后面, (1代表倒序?)                                                     b > a 返回-1,那么b排在a前面(-1代表正序?)          有没有更好的理解方法?不理解1和-1代表的意义.
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1962 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信