Найти - Пользователи
Полная версия: Отсортировать сложный словарь
Начало » Python для новичков » Отсортировать сложный словарь
1
polin11
Есть словарь вида
 {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}}

Так как словарь может быть большой по размеру желательно использовать оптимальный способ сортировки
xam1816
 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'))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB