Dict Sorter возвращает DICT списков - PullRequest
0 голосов
/ 03 апреля 2020

Я создал функцию для сортировки диктов:

def dict_sort(dic):
  new_dic = {}
  items = list(dic.items())
  sorted_dic = items.sort(key=lambda x: x[1])
  for a,b in items:
    new_dic.setdefault(a, []).append(b)

  return new_dic

Используя примерный диктат ex = {'A':1, 'B':3, 'C':2}, он становится {'A': [1], 'B': [3], 'C': [2]}.

Похоже, это превращает его в диктовку списков. Как я могу go удалить эти списки, чтобы на выходе было {'A':1, 'C':2, 'B':3}?

1 Ответ

1 голос
/ 03 апреля 2020

Поскольку Python 3.6+ поддерживает порядок вставки элементов словаря

def dict_sort(dic):
  return {a:b for a,b in sorted(dic.items(), key=lambda x: x[1])}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...