Я пытаюсь взять словарь ключей и значений, а затем поменять местами соответствующие ключи и значения, просматривая ранее опубликованные вопросы. Я знаю, что вы можете менять ключи / значения словаря, используя что-то вроде:
newdict = dict((b,a) for a,b in D.items())
Мне также известно, что словари не упорядочены, поэтому при длинном словаре каждая пара ключ / значение не будет находиться в том же положении в новом словаре, что и исходный словарь.
Итак, мой вопрос: есть ли способ поменять местами первую пару элементов, затем добавить их в список (чтобы они были в порядке), а затем добавить в новый словарь? Затем повторите этот процесс для второй пары терминов и так далее? Это может показаться глупым вопросом, но я его не понимаю, и любая помощь будет высоко оценена, как всегда. :)
Для пояснения вот что делает мой текущий код:
D = {1:2, 3:4, 5:6, 8:9, 20:11} #this is the input
{9: 8, 2: 1, 11: 20, 4: 3, 6: 5} #this is the output
В идеале я хотел бы, чтобы результат был:
{2:1, 4:3, 6:5, 9:8, 11:20}
Для справки мой код просто:
def invert():
newdict = list((b,a) for a,b in D.items())
D = {1:2, 3:4, 5:6, 8:9, 20:11}
invert()