fork download
  1. import collections
  2.  
  3. #создаем пустой словарь
  4. our_words = {}
  5. #берем OrderedDict из коллекций и используем, чтобы значения в словаре не выводились рандомно
  6. our_words= collections.OrderedDict(our_words)
  7. #добавляем значения, чтобы они были "учтены"
  8. our_words["Кот"]="мягкий"
  9. our_words["Диван"]="сидеть"
  10. our_words["машина"]="ездит"
  11. our_words["корова"]="мычит"
  12.  
  13.  
  14.  
  15. dlina = len(our_words)
  16. kluychi = []
  17. znacheniya = []
  18. #финальный словарь, он тоже Ordered, чтобы значения не вывелись рандомно
  19. final_list={}
  20. final_list=collections.OrderedDict(final_list)
  21.  
  22. #заполняем вспомогательные списки цифрами, чтобы не было "out of range"
  23. for i in range(dlina):
  24. kluychi.append(i)
  25. znacheniya.append(i)
  26.  
  27.  
  28. #заполняем списки с конца, беря значения словаря по порядку. то есть, первый элемент our_words - это последний элемент в kluchi и znacheniya
  29. #второй элемент our_words - это предпоследний в cluchi и znacheniya
  30. #то есть, получаем два параллельных списка заполненных с конца значениями из словаря our_words
  31. schet = len(our_words)-1
  32. for i in our_words:
  33. kluychi[schet]=i
  34. znacheniya[schet]=our_words[i]
  35. schet-=1
  36.  
  37. #заполняем наш "финальный" словарь ключами и значениями
  38. #то есть, kluchi[i] возвращает значение ключа, например "кот", znachenie[i] возвращает например "мягкий"
  39. #то есть, словарь принимает такой же вид, как и первый, но значения пишутся в обратном порядке, т.к. выше мы развернули списки
  40. for i in range(dlina):
  41. final_list[kluychi[i]]=znacheniya[i]
  42.  
  43. print("Старый:", our_words)
  44. print("Новый ", final_list)
  45.  
  46.  
  47. result = input("enter")
  48.  
Runtime error #stdin #stdout #stderr 0.03s 10240KB
stdin
Standard input is empty
stdout
Старый: OrderedDict([('Кот', 'мягкий'), ('Диван', 'сидеть'), ('машина', 'ездит'), ('корова', 'мычит')])
Новый  OrderedDict([('корова', 'мычит'), ('машина', 'ездит'), ('Диван', 'сидеть'), ('Кот', 'мягкий')])
enter
stderr
Traceback (most recent call last):
  File "./prog.py", line 47, in <module>
EOFError: EOF when reading a line