Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 177

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

18.04.2022, 09:23. Показов 541. Ответов 5
Метки dict (Все метки)

Студворк — интернет-сервис помощи студентам
Есть словарь вида
Python
1
{1:{'name': 'Иванов', 'salary': 5000}, 2:{'name': 'Алексеев', 'salary': 4000}, 3:{'name': 'Громов', 'salary': 3000}}
Нужно отсортировать по name, в итоге получить такой словарь
Python
1
{2:{'name': 'Алексеев', 'salary': 4000}, 3:{'name': 'Громов', 'salary': 3000}, 1:{'name': 'Иванов', 'salary': 5000}}
Так как словарь может быть большой по размеру желательно использовать оптимальный способ сортировки
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2022, 09:23
Ответы с готовыми решениями:

Однозначно отсортировать словарь
Сортирую словарь: по значению: f_dict = sorted(f_dict.items(), key=lambda x: x, reverse=True) но порядок строк с однаковой...

Отсортировать словарь по длине значения
Отсортировать словарь по длине значений a = {1: , 2: , 3: } Нужно: print(a) {3: , 2: , 1: }

Правильно отсортировать словарь словарей
Есть словарь словарей вида xx = {'word1': {'fn1.txt': 0, 'fn2.txt': 0, 'fn3.txt': 4}, 'word2': {'fn1.txt': 0, 'fn2.txt': 4, 'fn3.txt':...

5
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
18.04.2022, 11:38
Python
1
2
3
4
5
6
d = {1: {'name': 'Иванов', 'salary': 5000}, 2: {'name': 'Алексеев', 'salary': 4000}, 3: {'name': 'Громов', 'salary': 3000}}
dd = sorted(d, key=lambda x: d[x]['name'])
d1 = dict()
 
for i in dd:
    d1[i] = d[i]
0
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
18.04.2022, 11:44
Python
1
2
3
4
5
a = {1:{'name': 'Иванов', 'salary': 5000}, 2:{'name': 'Алексеев', 'salary': 4000}, 3:{'name': 'Громов', 'salary': 3000}}
a_items = a.items()
b = sorted(a_items, key=lambda x: x[1]['name'])
result = dict(b)
print(result)
Code
1
{2: {'name': 'Алексеев', 'salary': 4000}, 3: {'name': 'Громов', 'salary': 3000}, 1: {'name': 'Иванов', 'salary': 5000}}
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
18.04.2022, 11:48
Python
1
2
d = {1: {'name': 'Иванов', 'salary': 5000}, 2: {'name': 'Алексеев', 'salary': 4000}, 3: {'name': 'Громов', 'salary': 3000}}
print(dict(sorted(d.items(), key=lambda x: x[1]['name'])))
Добавлено через 1 минуту
DmBnd, опередил...)
0
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
18.04.2022, 11:57
eaa, у меня не так красиво вышло)
0
 Аватар для Semen-Semenich
5224 / 3471 / 1173
Регистрация: 21.03.2016
Сообщений: 8,298
18.04.2022, 12:56
ну сразу возникает вопрос для чего сортировать словарь? пока по делам съездил тут уже куча ответов. так что свой код уже не выкладываю. он как у eaa,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2022, 12:56
Помогаю со студенческими работами здесь

Как отсортировать словарь в обратном лексикографическом порядке
Я формирую словарь из потока текста в котором считаю как часто используется слово в тексте. В итоге мне нужно получить отсортированный...

Ввести словарь с клавиатуры. С помщ лямбды отсортировать словарь по убыванию ключа и вывести на экран
Ввести словарь с клавиатуры. С помощью лямбды отсортировать словарь по убыванию ключа и вывести на экран.

Отсортировать словарь
Нужно написать функцию для сортировки для списка словарей. Сортировать по ключу `name`, если такого ключа нет в словаре, то по ключу...

Как отсортировать словарь по количеству строк
Мне нужно отсортировать словарь по количеству строк в файлах: my_list = result_list = for i in my_list: my_dict = {} ...

Отсортировать словарь сначала по убыванию, потом лексикографически
Условия: На уроке литературы возник спор: какие слова в текстах на русском языке используются чаще всего. Для разрешения спора решили...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru