как отсортировать словарь по ключу, а затем по значениям кортежа - PullRequest
0 голосов
/ 15 января 2020

С учетом входного словаря, например

{13: (3,1,7), 2: (6,4,9), 7: (5,8,4)}

, получить выходной словарь типа

{2: (4,6,9), 7: (4,5,8), 13: (1,3,7)}

Ответы [ 2 ]

3 голосов
/ 15 января 2020

С Python 3.6 и далее, словари соблюдают порядок вставки. Вы можете достичь sh того, что вы хотите, используя sorted на уровне как элементов вождения, так и в пределах отдельных значений:

>>> dict(sorted((k, tuple(sorted(v))) for (k, v) in a.items()))
{2: (4, 6, 9), 7: (4, 5, 8), 13: (1, 3, 7)}
1 голос
/ 15 января 2020

Вы можете использовать понимание.

a = {13: (3,1,7), 2: (6,4,9), 7: (5,8,4)}
sorted_a = {key:tuple(sorted(a[key])) for key in sorted(a)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...