Сортировка содержимого диктонары по значению уже подробно описана, поэтому его можно получить примерно так:
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)]?