d = {'A': ['A11117',
'33465'
'17160144',
'A11-33465',
'3040',
'A11-33465 W1',
'nor'], 'B': ['maD', 'vern', 'first', 'A2lRights']}
У меня есть словарь d
, и я хотел бы отсортировать значения по длине символов.Например, для ключа A
значение A11-33465 W1
будет первым, потому что оно содержит 12 символов, за которым следует 'A11-33465'
, потому что оно содержит 9 символов и т. Д. Я хотел бы получить следующий вывод:
d = {'A': ['A11-33465 W1',
' A11-33465',
'17160144',
'A11117',
'33465',
'3040',
'nor'],
'B': ['A2lRights',
'first',
'vern',
'maD']}
(Iпонимаю, что словари не могут быть отсортированы, но у меня есть примеры ниже, которые не работают для меня, но ответ содержит словарь, который был отсортирован)
Я попробовал следующее
Python сортировка словаря по длине значений
print(' '.join(sorted(d, key=lambda k: len(d[k]), reverse=True)))
Сортировка словаря по длине значения
sorted_items = sorted(d.items(), key = lambda item : len(item[1]))
newd = dict(sorted_items[-2:])
Как сортироватьсловарь по значению?
import operator
sorted_x = sorted(d.items(), key=operator.itemgetter(1))
Но оба они не дают мне то, что я ищу.
Как получить желаемый результат?