【发布时间】:2014-04-29 16:59:44
【问题描述】:
如果你看下面的代码:
examples = {"Main 1": "blabla", "Main 2": "test", "Main 3": "ya", "Main 4": "ha", "Main 5": "no", "Main 6": "blabla", "Main 7": "test", "Main 8": "ya", "Main 9": "ha", "Main 10": "no", "Main 11": "blabla", "Main 12": "test", "Main 13": "ya", "Main 14": "ha", "Main 15": "no", "Main 16": "boo", "Main 17": "blabla", "Main 18": "test", "Main 19": "ya", "Main 20": "ha", "Main None": "None",}
for example in examples.keys():
print example
它打印以下内容:
Main 1
Main 14
Main 3
Main 2
Main 5
Main 4
Main 7
Main 6
Main 9
Main 8
Main None
Main 12
Main 19
Main 17
Main 18
Main 16
Main 13
Main 15
Main 20
Main 11
Main 10
如何使它保持字典顺序,使其变为 1、2、3、4、5、6、7...等
【问题讨论】:
-
Python 字典没有排序。您不能保留初始顺序;请改用
collections.OrderedDict()。 -
另一种方法是对您的密钥进行排序;不过需要自然排序。
-
快速搜索“排序字典 python”或“排序字典 python”返回 docs.python.org/2/library/collections.html。请参考stackoverflow.com/questions/how-to-ask的“搜索和研究”部分
-
最后但同样重要的是,
.keys()调用是多余的;您可以直接遍历字典并仍然获取键:for example in examples:.
标签: python python-2.7 dictionary