Код Python 3.5 / 3.6 в зависимости от порядка вставки dict - PullRequest
0 голосов
/ 23 июня 2018

Я написал некоторый код на Python 3.6, который, как я обнаружил, зависел от порядка вставки dict ключей, который является новым в 3.6 и будет гарантированно в 3.7.Я хотел бы поддержать 3.5.У меня есть это в начале моего файла:

import sys
if sys.version_info[1] < 6:
    from collections import OrderedDict
else:
    OrderedDict = dict

, которые, кажется, работают.Я предполагаю, что dict может быть быстрее, чем OrderedDict, хотя я не проверял это.У меня вопрос, это способ сделать это или есть какой-то более систематический / более симпатичный / более питонический или вообще лучший способ по любой причине?

1 Ответ

0 голосов
/ 23 июня 2018

Ваше решение работает нормально, но я бы предостерег от замены стандартного имени библиотеки на что-либо еще, это может сбить с толку тех, кто пытается использовать OrederedDict (и узнает, что это просто диктовка).

Я предлагаю это:

import sys
if sys.version_info[1] < 6:
    from collections import OrderedDict as ordered_dict
else:
    ordered_dict = dict
...