Python字典如何保持有序

4
我把字典看作一个关联数组,所以当我输入了
dict1 = {'first' : 1, 'second' : 2}

我希望当我调用它时,它能按照书写顺序排列,但实际上并没有。"second"出现在"first"之前。查找后发现字典是无序的。所以这很有道理,但是我想知道是否有办法让它们保持书写(或附加)的相同顺序?我需要的只是一个列表(保持顺序),它允许字符串作为键。
谢谢
2个回答

10
from collections import OrderedDict

OrderedDict([("first", 1), ("second", 2)])

我记得这在Python >= 2.7中有效。对于早期版本,可以在互联网上找到替代方法,但将密钥保存在单独的位置可能是最简单的解决方法。


1
Odict(与2.2*兼容)是我之前第一次搜索有序字典时遇到的推荐替代品,但我使用的是Python 2.7,所以选择了OrderedDict - jedwards

4
Python有一个专门用于此目的的OrderedDict(在collections模块中)。 < p > < em > 版本2.7中新增


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接