2017-04-25 78 views
0

我是新來的蟒蛇和事情是一點爲什麼和如何。剛剛瞭解Python中的「SETS」,我似乎無法按照我聲明的順序打印它。 我的代碼:蟒蛇 - 如何輸出設置我聲明的方式/順序

myPersonels = {"Haime", "Brian", "Ryan", "Jonathan", "Patrick", "Robert", 
       "Renzo", "Rjay", "Daniel", "Angelo"} 

print(myPersonels) 

輸出:

{'Rjay', 'Daniel', 'Jonathan', 'Robert', 'Ryan', 'Renzo', 'Brian', 'Haime', 
'Angelo', 'Patrick'} 

我試過排序()方法,但它給我的字母順序,這不是我想要的。我希望它能打印與我聲明相同的順序。我怎樣才能做到這一點?任何幫助將非常感謝謝謝。

+2

'set's not ordered –

+0

請勿使用set - 使用列表或元組。 –

+2

[Set changes element?]可能重複?(http://stackoverflow.com/questions/9792664/set-changes-element-order) – languitar

回答

0

不要使用set - 使用list(或tuple如果您不會更改值或長度),它將保留排序。

In [2]: myPersons = ["Haime", "Brian", "Ryan", "Jonathan", "Patrick", "Robert", 
    ...:    "Renzo", "Rjay", "Daniel", "Angelo"] ## this is a list 
    ...: print(myPersons) 
    ...:     
    ['Haime', 'Brian', 'Ryan', 'Jonathan', 'Patrick', 'Robert', 'Renzo', 'Rjay', 'Daniel', 'Angelo'] 
+0

那麼這取決於他們想要什麼,如果他們想避免重複和做O(n)成員資格測試,那麼列表或元組不適合 –

+0

@Chris_Rands過早優化&c&c –

+0

這不僅僅是優化安德魯,輸出將是不同的如果它們有重複的名稱 –