Python может легко конвертировать итерацию из (key, value)
пар в словарь и обратно.Но похоже, что ваши кортежи (value, key)
.
Это все еще не так сложно в Python, просто используйте сложное понимание для их переключения.
{k: v for v, k in Data}
Традиционно, словари - это неупорядоченные множествапар ключ / значение, но dict
s в последних версиях Python могут запомнить их порядок вставки.Это стандартно в Python 3.7, но рассмотрены детали реализации до этого в CPython 3.6.(А до этого вам нужно будет использовать OrderedDict
.)
Итак, если вы действительно хотите, чтобы ваши ключи были в порядке, вы можете сначала отсортировать их, например,
import operator
{k: v for v, k in sorted(Data, key=operator.itemgetter(1))}
Встроенная функция sorted
может преобразовывать свои элементы перед сравнением их с помощью ключевой функции.Оператор itemgetter(1)
эквивалентен lambda xs: xs[1]
.Это то, что позволяет сортировать кортежи по второму элементу.