【发布时间】:2013-09-27 20:53:57
【问题描述】:
我指的是来自collections 模块的OrderedDict,它是一个有序字典。
如果它具有可订购的附加功能,我意识到这通常可能不是必需的,但即便如此,有什么缺点吗?是不是比较慢?它缺少任何功能吗?我没有看到任何缺失的方法。
简而言之,为什么不应该我总是使用这个而不是普通的字典?
【问题讨论】:
-
此外,许多包返回 dicts 并且将它们与 OrderedDict 一起使用可能会弄乱顺序。
-
我的问题是,为什么要使用 OrderedDict?为什么需要有序字典?
-
我将 OrderedDict 仅用于输出格式。我还缺少其他用途吗?
-
@Haidro, an example 来自标准库。
-
如果您使用 OrderedDict 的唯一目的是格式化输出(可能是排序键),只需使用
for key in sorted(dictvar): print (key, dictvar[key])。 OrderedDict 保留插入顺序,而不是键顺序。
标签: python dictionary python-3.x ordereddictionary