0

我对 Python 相当陌生。事实上,今天是我接触 Python 的第一天。我正在关注一个教程并阅读字典。

但我不知道字典内容的显示顺序是什么。

下面是我的代码:

dir = {'Z':1,'Y':3,'X':5,'V':7,'U':9,'T':2,'S':4,'R':6,'Q':8,'P':10};
print dir;

以下是输出:

{'Q':8,'P':10,'S':4,'R':6,'U':9,'T':2,'V':7,'Y':3,' X':5,'Z':1}

任何人都可以解释我如何得到这个输出而不是原始序列中的列表。

PS:对不起一个蹩脚的问题:(

4

2 回答 2

3

来自Python Docs(在使用 Python 时他们会成为你的朋友)

最好将字典视为一组无序的键:值对,并要求键是唯一的(在一个字典中)。

这意味着它们没有固定的顺序存储,因此也没有固定的顺序打印出来!由于字典可能是使用哈希表实现的,因此它们没有遵循“顺序”。

如果你想要一个有序的字典,collections.OrderedDict()可能会有用。

于 2013-05-16T11:11:18.617 回答
1

如果您阅读了有关字典的 python 文档http://docs.python.org/2/tutorial/datastructures.html#dictionaries

你会发现这很正常。如果要对其进行排序,则必须进行某种排序操作,否则它是任意顺序。

我希望它有所帮助。

于 2013-05-16T11:13:49.593 回答