2017-06-01 44 views
2

有一個關於Python3.6的問題。這是關於Set表達式的輸出。我不知道爲什麼下面的代碼不會出現順序:python-3.6打印集表達式不按順序

a = {i*2 for i in range(1, 5)} 
print(a) 

我希望{2, 4, 6, 8}但輸出{8, 2, 4, 6}

爲什麼它不是爲了?

回答

0

1這裏是在Python的例子中,集合的元素不會爲了即元素在隨機

0

的Python套安排安排是沒有順序的,它們只包含元素。如果你需要你的數據結構有一定的順序,可以考慮OrderedDict。

1

如果你看看文檔;所述set documentation的第一句是:

一組對象是無序集合不同哈希的對象。

所以組中的元素的順序是所有實際用途的隨機。即使在python-3.6。