2016-07-14 4 views
0

私はPythonの初心者です。私はPython 2.4.3を使用しています。Python(2.4.3)のset()の出力について混乱しました

set()機能の結果、ご注文に関するご質問があります。私はset()は、文字列から重複要素を削除します理解

[クラスセット必要に応じて反復可能から採取された要素を有する([反復可能])

戻り新しいセットオブジェクト、。] 1

しかし、例えば

、私は、次の手順を実行したときに

a='abcdabcd' 
set(a) 

は、それは私が実際に期待

set(['a','b','c','d']) 

の代わりに

set(['a','c','b','d']) 

の結果を返しました。

なぜですか?出力がどのように生成されたのか理解できません。

事前に感謝します。

+1

*集合 - ユニークな要素の順序付けられていないコレクション* –

+3

なぜ2.4.3を使用していますか? –

+0

関連性があるかもしれません:http://stackoverflow.com/q/12165200/748858 – mgilson

答えて

0

setは、「ユニークな要素の順序付けられていないコレクション」と定義されています(here参照)。 Pythonのsetオブジェクトは、順序付けを保証しないため、同じままにすることを期待したり、順序に頼ってはいけません。

+1

これは確かに正しいと思いますが、注文に関する保証(時には便利です)を行います。特に、同じセットを複数回反復すると、アイテムを追加したり削除したりしない限り、同じ順序でアイテムが返されます。 – mgilson

関連する問題