2017-04-03 96 views
0
groceries = {'fruits', 'milk', 'sweet', 'egg'} 

print(groceries) 

当我运行代码时,它随机显示以下不同的输出。具有相同输入时的不同输出

我想知道为什么它显示相同输入的不同输出?

不同输出

有时输出是这样的:

{'milk', 'sweet', 'fruits', 'egg'} 

有时输出是这样的:

{'sweet', 'fruits', 'milk', 'egg'} 

有时输出是这样的:

{'egg', 'sweet', 'fruits', 'milk'} 

有时输出是这样的:

{'fruits', 'milk', 'sweet', 'egg'} 

我想知道是什么原因,为什么会出现不同的输出和随机?

我们如何每次都能显示单个输出?

+3

因为Python中的字典是** unoredred **。不能保证字典的结构。 –

+0

@WillemVanOnsem我们可以订购吗? –

+0

有一个['OrderedDict(..)'](https://docs.python.org/3/library/collections.html?highlight=ordereddict#collections.OrderedDict) –

回答

1

您定义了一个无序的集合。您可以使用元组或列表来代替:

groceries = ['fruits', 'milk', 'sweet', 'egg'] # list 
groceries = ('fruits', 'milk', 'sweet', 'egg') # tuple 

另外还有一个ordered version字典。

+0

正如Klaus D.已经指出的那样,OP创建了一个集合,而不是字典。 –

+1

对,我纠正了它。 –

相关问题