Python 3.5 / 3.6 代码取决于字典插入顺序

Python 3.5 / 3.6 code depending on dict insertion order

我在 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 更快,尽管我没有检查这个。我的问题是,这是执行此操作的方法还是出于任何原因还有更多 systematic/prettier/more pythonic 或通常更好的方法?

你的解决方案工作正常,但我会警告不要用其他任何东西替换标准库名称,这可能会使试图使用 OrederedDict(并发现它只是字典)的人感到困惑。

我提议:

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