Сортировка словаря по ключу
Подскажите, как в Python можно отсортировать словарь по ключу? Сложность заключается в том, что ключи имеют строковый тип
Исходный словарь:
d = {'30': ['Математика'], '26': ['Русский язык'], '7': ['История'], '15': ['Музыка'], '33': ['География']}
Должен получиться:
d = {'7': ['История'], '15': ['Музыка'], '26': ['Русский язык'], '30': ['Математика'], '33': ['География']}
Ответы (2 шт):
Автор решения: Serhii Khortiuk
→ Ссылка
d = {'30': ['Математика'], '26': ['Русский язык'], '7': ['История'], '15': ['Музыка'], '33': ['География']}
sorted_d = dict(sorted(d.items(), key=lambda f: int(f[0])))
print(sorted_d)
{'7': ['История'],
'15': ['Музыка'],
'26': ['Русский язык'],
'30': ['Математика'],
'33': ['География']}
Автор решения: Ildar
→ Ссылка
как вариант:
d = {'30': ['Математика'], '26': ['Русский язык'], '7': ['История'], '15': ['Музыка'], '33': ['География']}
d = {key: d[key] for key in sorted(d.keys(), key=lambda elem: int(elem))}
print(d)