Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 18, 2022 09:22:08

polin11
Зарегистрирован: 2013-05-02
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Отсортировать сложный словарь

Есть словарь вида

 {1:{'name': 'Иванов', 'salary': 5000}, 2:{'name': 'Алексеев', 'salary': 4000}, 3:{'name': 'Громов', 'salary': 3000}}
Нужно отсортировать по name, в итоге получить такой словарь
 {2:{'name': 'Алексеев', 'salary': 4000}, 3:{'name': 'Громов', 'salary': 3000}, 1:{'name': 'Иванов', 'salary': 5000}}

Так как словарь может быть большой по размеру желательно использовать оптимальный способ сортировки

Офлайн

#2 Апрель 18, 2022 11:55:54

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

Отсортировать сложный словарь

 my_dict = {1: {'name': 'Иванов', 'salary': 5000}, 2: {'name': 'Алексеев', 'salary': 4000},
           3: {'name': 'Громов', 'salary': 3000}}
def sort_my_dict(d, key):
    sort_items = sorted(d.items(), key=lambda i: i[1][key])
    return dict(sort_items)
print(sort_my_dict(my_dict, 'name'))
print(sort_my_dict(my_dict, 'salary'))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version