我在第一眼看Python wikibook的python語言。如果集合是無序的,爲什麼Python集合以「相同」順序顯示?
對於下文中提到的套 - We can also have a loop move over each of the items in a set. However, since sets are unordered, it is undefined which order the iteration will follow.
並給出了代碼示例
s = set("blerg")
for letter in s:
print letter
輸出:
r b e l g
當我運行該程序,我得到的結果不管我跑了多少次,都是一樣的順序。如果集合無序且迭代次序未定義,爲什麼它以相同的順序返回集合?訂單的基礎是什麼?
[PS:對不起,如果我誤解了一些非常基本的東西。我是一個蟒蛇新手]
項目存儲的順序是無序的,但是這是一致的(至少在Python 2.x中)。 – thefourtheye
訂單未定,但不是隨機的。以相同的順序插入的相同的一組值,將總是以相同的順序出現 –
即,即。該文件告訴你:「不要相信事情是按照某種順序進行的,因爲你可能會(並且會感到驚訝)」。如果您需要訂購,則使用一些自定義設置(字典中有這樣的自定義)。 –