
Я с радостью поделюсь кодом функции `make_most_common_keys`, который решит поставленную задачу․python
from typing import List, Dict
def make_most_common_keys(d⁚ Dict[int, int]) -> List[int]⁚
# Получаем список кортежей (ключ, значение) из словаря
items d․items
# Сортируем список по убыванию значений ключей
items_sorted sorted(items, keylambda x⁚ x[1], reverseTrue)
# Извлекаем только ключи из отсортированного списка
keys_sorted [key for key, _ in items_sorted]
return keys_sorted
Объясняю, как работает код․1․ Функция `make_most_common_keys` принимает словарь `d`٫ где ключи ‒ это значения٫ а значения ー это частоты․ Она возвращает список ключей٫ отсортированный по убыванию частот․
2․ Сначала мы получаем список кортежей `(ключ, значение)` с помощью метода `items`, который возвращает пары ключ-значение из словаря․
3․ Затем мы сортируем список `items` с помощью функции `sorted`․ В качестве ключа сортировки мы используем лямбда-функцию, которая извлекает второй элемент кортежа (значение) и сортирует список по убыванию этого значения с помощью аргумента `reverseTrue`․
4․ После сортировки мы создаем новый список `keys_sorted`, в котором оставляем только ключи из отсортированного списка кортежей․
5․ В конце функция возвращает отсортированный список ключей `keys_sorted`․
Пример использования функции⁚
python
d {1⁚ 5, 2⁚ 3, 3⁚ 8, 4⁚ 2, 5⁚ 10}
result make_most_common_keys(d)
print(result) # Выведет⁚ [5, 3, 1, 2, 4]
Это был мой личный опыт написания функции `make_most_common_keys`․ Она действительно помогла мне сортировать список ключей по убыванию их частот․