对于字典:
d = {'a':5,'b':4,'d':8,'c':1,'e':4}
想得到
d = {'d':8,'a':5,'b':4,'e':4,'c':1}
可通过下列命令实现:
sorted(d.items(),key=lambda x:(-x[1],x[0]))
-x[1]表示先对值按照逆序排序,x[0]表示再对键按照正序排序。
同理,如果是元组列表
L = [(1,2,3,4),(5,4,6,7),(4,8,2,1)]
如果想分别基于第一、二、三、四个元素进行正序排序,可以使用:
sorted(L.items(),key=lambda x:(x[0],x[1],x[2],x[3]))