【发布时间】:2011-08-16 09:27:28
【问题描述】:
按值对字典的内容进行排序已经被详细描述过,因此可以通过以下方式实现:
d={'d':1,'b':2,'c':2,'a':3}
sorted_res_1= sorted(d.items(), key=lambda x: x[1])
# or
from operator import itemgetter
sorted_res_2 = sorted(d.items(), key=itemgetter(1))
我的问题是,实现以下输出的最佳方法是什么:
[('d', 1), ('b', 2), ('c', 2), ('a', 3)] 而不是 [('d', 1), ('c ', 2), ('b', 2), ('a', 3)]
如果值相等,则元组先按值排序,然后按键排序。
其次 - 是否可以反转: [('a', 3), ('b', 2), ('c', 2), ('d', 1)] 而不是 [('a', 3), ('c', 2 ), ('b', 2), ('d', 1)]?
【问题讨论】:
标签: python sorting dictionary