У нас есть словарь с подсловарями, довольно большой:
{
"Список": {
"0": "*Аманжуров Тимур* —",
"1": "*Блинов Денис* —",
"2": "*Григорьева Мария* —",
"3": "*Дедов Павел* —",
"4": "*Дубков Александр* —",
"5": "*Зелинский Даниил* —",
"6": "*Зотов Денис* —",
"7": "*Козлов Арсентий* —",
"8": "*Колягин Артем* —",
"9": "*Крутов Данил* —",
"10": "*Кряженкова Алина* —",
"11": "*Меньшов Геннадий* —",
"12": "*Мишина Алина* —",
"13": "*Наговский Даниил* —",
"14": "*Нагорных Максим* —",
"15": "*Овсянников Вячеслав* —",
"16": "*Петренко Вадим* —",
"17": "*Прощаев Максим* —",
"18": "*Пугин Андрей* —",
"19": "*Сергеев Илья* —",
"20": "*Совгирь Виктор* —",
"21": "*Талызин Валерий* —",
"22": "*Фокин Александр* —",
"23": "*Хромов Андрей* —",
"24": "*Чеснокова Анна* —",
"25": "*Штернфельд Олег* —"
},
"Проценты": {
"0": 21,
"1": 12,
"2": 21,
"3": 22,
"4": 15,
"5": 23,
"6": 21,
"7": 19,
"8": 21,
"9": 25,
"10": 35.4,
"11": 15,
"12": 26.4,
"13": 23,
"14": 22,
"15": 26.4,
"16": 0,
"17": 17,
"18": 22,
"19": 0,
"20": 44.1,
"21": 10,
"22": 10,
"23": 26.8,
"24": 30,
"25": 25
}
}
Нужно из первого словаря "Список" получить фамилию с именем и сопоставить её со значением из второго словаря "Проценты"
К примеру, Аманжуров имеет 21% - подставляем к его фамилии
Всё работает, если нет сортировки процентов, следующим циклом:
for x, y in zip(rating, percents):
rating_cources = rating.get(str(key))
percent_cources = percents.get(str(key))
key += 1
layout += f'{rating_cources} {percent_cources}%\n'
Но как сделать так, чтобы если была сортировка (а она есть, с уже записью в новый словарь), то можно было, получив значение по ключу из второго словаря ("Проценты"), взять фамилию с именем и приписать проценты к ней, при этом изменив первый словарь "Список", отсортировав его по процентам?
Думаю, что объяснил более-менее.