2017-06-01 16 views
2

Python3.6について1つの質問があります。 Set式の出力についてです。コードは以下の順に表示されない理由を私は知らない。私は{2, 4, 6, 8}期待python-3.6印刷セットの式が正しくない

a = {i*2 for i in range(1, 5)} 
print(a) 

をしかし出力は、それが順序ではないのはなぜ{8, 2, 4, 6}

のですか?ここ

答えて

0

1は、Pythonでの例で、集合の要素は、Pythonのセットを注文されていない、彼らは唯一の要素が含まれているランダム

0

にアレンジされている順序すなわち要素にアレンジされません。データ構造に特定の順序が必要な場合は、OrderedDictを考えてみてください。

1

ドキュメントをご覧になる場合は、 set documentationの最初の文である:

セットオブジェクトは、別個のハッシュ可能オブジェクトの順不同コレクションです。

だから、セット内の要素の順序は、すべての実用的な目的ランダムためです。 Python-3.6でも