Упорядочить словарь в Python, используя значение индекса кортежа - PullRequest
0 голосов
/ 26 апреля 2020

В Python 3 ... Допустим, у меня есть словарь с кортежами в качестве значений. Как бы я отсортировал словарь по определенному индексу каждого кортежа? Например, в приведенном ниже словаре, как можно отсортировать по имени службы (Netflix, Prime et c,) по индексу [0] каждого кортежа и вернуть список ключей в указанном порядке.

ServiceDict = {'Service01': ('Netflix', 12, 100000, 'B'), 'Service02': ('Disney', 8, 5000, 'A'), 'Service03': ('Stan', 10, 20000, 'A'), 'Service04': ('Prime', 6, 30000, 'C')}

Спасибо

Ответы [ 3 ]

0 голосов
/ 26 апреля 2020

IIU C, Использование:

# sorted in ascending order.
services = sorted(ServiceDict, key=lambda k: ServiceDict[k][0])
print(services)

Печать:

['Service02', 'Service01', 'Service04', 'Service03']
0 голосов
/ 26 апреля 2020

Вы можете попробовать это

ServiceDict = {k: v for k, v in sorted(ServiceDict.items(), key=lambda item: item[1][0])}

print(list(ServiceDict.keys()))

Вывод будет -

['Service02', 'Service01', 'Service04', 'Service03']
0 голосов
/ 26 апреля 2020

здесь решение

{k: v for k, v in sorted(ServerDict.items(), key=lambda item: item[1])}

дубликат вы можете показать здесь больше Как отсортировать словарь по значению?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...