Python 3.5 / 3.6代码取决于dict的插入顺序

时间:2018-06-23 10:08:31

标签: python dictionary python-3.5 python-3.6 ordereddictionary

我在Python 3.6上写了一些代码,发现它依赖于3.6中新增的键的dict插入顺序,并且在3.7中可以保证。 我想支持3.5。我在文件的开头有这个

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

似乎有效。我假设dict可能比OrderedDict快,尽管我没有检查。我的问题是,这是执行此操作的方法,还是出于某种原因,是否存在一些更系统/更漂亮/更pythonic或更普遍的更好方法?

1 个答案:

答案 0 :(得分:0)

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

我建议这样做:

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