Как я могу заказать словарь по его значениям? - PullRequest
0 голосов
/ 04 мая 2020

Я работаю над проектом анализа данных и пытаюсь упорядочить результаты в нисходящем формате. При первой аналогичной проблеме я использовал sorted(dictt.items(), key= lambda x: x[1]), и она работала нормально. Теперь у меня ошибка типа: «AttributeError: объект set не имеет атрибута items».

Что я делаю не так?

Фактический вывод, но я хочу отсортировать

1 Ответ

0 голосов
/ 04 мая 2020

Существует специальная коллекция для того, что вы пытаетесь сделать, под названием OrderedDict: https://docs.python.org/3/library/collections.html#collections .OrderedDict

Проблема в том, что сортировка, которую вы делали, возвращает набор элементов вместо из диктата, и вы должны снова превратить его в диктат. Однако стандартный dict не отслеживает порядок входа по соображениям эффективности, поэтому, если вы действительно этого хотите, просто подключите набор элементов в OrderedDict, например, так:

myOrderedDict =  OrderedDict(sorted(dictt.items()))
...