Вам не нужно делать двойной обмен ключ / значение, вы можете сделать это:
a = {k: v for k, v in sorted(a.items(), key=lambda x: x[1])}
( отсортировано DOCS )
Тестовый код:
data = dict(a=1, b=3, c=2)
print(data)
data_sorted = {k: v for k, v in sorted(data.items(), key=lambda x: x[1])}
print(data_sorted)
Результаты:
Из CPython 3.6:
{'a': 1, 'b': 3, 'c': 2}
{'a': 1, 'c': 2, 'b': 3}