2014-10-28 24 views
0

在python中,如果我有一個包含數字的列表,可能會重複,如果我做了以下操作,我保證會得到相同的結果嗎?是否列表(set(...))保證使列表相同?

l = #some list... 

new_list = list(set(l)) 

我試了幾次,它給了我每次都有同樣的結果,但我想知道如果這是保證。通過相同的列表我的意思是在同一順序

+1

定義「相同名單「?你的意思是相同的順序?或者只是以任何順序排列相同的元素? – Ffisegydd 2014-10-28 14:01:56

+1

集合中的元素的順序不會改變*,直到你重新啓動的Python *和散列隨機啓動,這就是Python 3.3及以上的默認,或可爲Python 2.6.8及以上被啓用。 – 2014-10-28 14:02:12

+0

@Ffisegydd對不起,我不清楚,我的意思是相同的順序 – sedavidw 2014-10-28 14:03:21

回答

0

那麼相同的元素,如果有重複,則沒有:

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] 
相關問題