我发现Python字典不会按照插入顺序存储键是很烦人的。最近,我开始使用OrderedDict,它更方便使用,因为它解决了这个缺点(例如,在迭代CSV文件的列时,列的顺序应该与字典的键顺序匹配)。
话虽如此,字典是否有优于OrderedDict的明显优势?如果是这样,那它们是什么?
话虽如此,字典是否有优于OrderedDict的明显优势?如果是这样,那它们是什么?
OrderedDict
则需要同时维护一个哈希表和一个链表。{k1: v1, k2: v2}
很容易。这是字典的另一个优势。或许是不公平的,但事实就是如此。
OrderDict
的字符串表示,因此经常将它们转换为普通的dict
以供显示。维护顺序可能会有一些额外开销,但这是该功能的代价(坦白地说,我从未注意到)。 - martineauOrderedDict
将成为内置类型,并将用于某些事情(例如**kwargs
)。 - o11c