>>> 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代表的意义.
添加回答
举报
0/150
提交
取消