Есть несколько способов получить сортированный дикт, sorted
и iteritems()
- ваши друзья.
data = {'secondly': 2, 'pardon': 6, 'saves': 1, 'knelt': 1}
Шаблон, который я использую чаще всего:
key = sorted(data.iteritems())
print key #[('knelt', 1), ('pardon', 6), ('saves', 1), ('secondly', 2)]
key_desc = sorted(data.iteritems(), reverse=True)
print key_desc #[('secondly', 2), ('saves', 1), ('pardon', 6), ('knelt', 1)]
Для сортировки по значению, а не по ключу, вам необходимо переопределить функцию сортированного ключа.
value = sorted(data.iteritems(), key=lambda x:x[1])
print value #[('saves', 1), ('knelt', 1), ('secondly', 2), ('pardon', 6)]
value_desc = sorted(data.iteritems(),key=lambda x:x[1], reverse=True)
print value_desc #[('pardon', 6), ('secondly', 2), ('saves', 1), ('knelt', 1)]