哪里可以找到最前/后兼容的词典方法的信息?例如,在python 2.5之前没有变化的东西也会在python3中得到支持吗?
例如:我不确定d.itervalues()
是否是一个向后/向前兼容的方法?我用它来从字典中获取单个元素:
# is this good form for those who care about compatibility?
d = {"foo": {"bar": []}}
elt = next(d.itervalues())
答案 0 :(得分:3)
对于此特定方法字典。 itervalues(),它在Python 3中更改为字典。 values()。
检查此库以解决Python 2& 3
之间的兼容性问题答案 1 :(得分:1)
如果在内存中具体化时不太可能是一个非常大的列表,那么使用.values()
将向前兼容。
确定,你可以这样做:
d = {"foo": {"bar": []}}
elt = next(iter(d.values()))
和elt返回
{'bar': []}
我亲自测试过这适用于Python 2.6& 3.3,但iter was first available in 2.2.
代码将向前兼容,然后当您不再希望在2中获得支持时,您可以清理iter
部分。