Форум сайта python.su
from operator import itemgetter a = {3:0, 2:1, 1:2} print(sorted(a.items(), key=itemgetter(1))[:2])
[(3, 0), (2, 1)]
Офлайн
Снова вопрос про сортировку словаря по ключам. Сортирую его через sorted, но сортировка получается немного странная
def posname(): tuples = () name_dict = {} i_file = open('baby1990.html', 'rU') text = i_file.read() tuples = re.findall(r'<td>(\d+)</td><td>(\w+)</td>\<td>(\w+)</td>',text) for (rank, b_name, g_name) in tuples: name_dict[rank] = (b_name, g_name) b = name_dict.keys() b = list(b) b.sort() for rank in b: print(rank + '=>' + str(name_dict[rank]))
Отредактировано coffe4wolf (Авг. 30, 2016 14:40:24)
Офлайн
coffe4wolf
я понял что не так - он сортирует ключи как строки, а не как int.
>>> lst = ['1', '10', '2', '20'] >>> lst.sort(key=lambda i: int(i)) >>> lst ['1', '2', '10', '20'] >>>
Офлайн