>>> 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。因此,如果我們要實現(xiàn)倒序排序,只需要編寫一個reversed_cmp函數(shù):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
提交
取消