Я написал некоторый код на Python 3.6, который, как я обнаружил, зависел от упорядочивания вставки ключей, что является новым в 3.6, и будет гарантировано в 3.7. Я хотел бы поддержать 3.5. У меня есть это в начале моего файла:
import sys
if sys.version_info[1] < 6:
from collections import OrderedDict
else:
OrderedDict = dict
Кажется, что они работают. Я предполагаю, что dict может быть быстрее, чем OrderedDict, хотя я не проверял это. Мой вопрос в том, является ли это способом сделать это или есть какой-то более систематический/более красивый/более питонический или вообще лучший способ по любой причине?
Ваше решение работает отлично, но я бы предостерег от замены стандартного имени библиотеки чем-нибудь еще, это может смутить кого-то, пытающегося использовать OrederedDict (и выяснение его просто dict) по строке.
Я предлагаю следующее:
import sys
if sys.version_info[1] < 6:
from collections import OrderedDict as ordered_dict
else:
ordered_dict = dict