0
在python中,如果我有一個包含數字的列表,可能會重複,如果我做了以下操作,我保證會得到相同的結果嗎?是否列表(set(...))保證使列表相同?
l = #some list...
new_list = list(set(l))
我試了幾次,它給了我每次都有同樣的結果,但我想知道如果這是保證。通過相同的列表我的意思是在同一順序
在python中,如果我有一個包含數字的列表,可能會重複,如果我做了以下操作,我保證會得到相同的結果嗎?是否列表(set(...))保證使列表相同?
l = #some list...
new_list = list(set(l))
我試了幾次,它給了我每次都有同樣的結果,但我想知道如果這是保證。通過相同的列表我的意思是在同一順序
那麼相同的元素,如果有重複,則沒有:
In [1]: l = [1,1,1]
In [2]: print list(set(l))
[1]
而且順序可以改變,以及:
In [5]: l = [3,2,1]
In [6]: print list(set(l))
[1, 2, 3]
定義「相同名單「?你的意思是相同的順序?或者只是以任何順序排列相同的元素? – Ffisegydd 2014-10-28 14:01:56
集合中的元素的順序不會改變*,直到你重新啓動的Python *和散列隨機啓動,這就是Python 3.3及以上的默認,或可爲Python 2.6.8及以上被啓用。 – 2014-10-28 14:02:12
@Ffisegydd對不起,我不清楚,我的意思是相同的順序 – sedavidw 2014-10-28 14:03:21