setPythonの組み込み構造に要素の順序がないことが「十分にランダム」であるかどうかを知りたいのですが。たとえば、セットのイテレータを取り上げると、その要素のシャッフルされたビューと見なすことができますか?
(重要な場合は、WindowsホストでPython 2.6.5を実行しています。)
いいえ、ランダムではありません。これは「任意に順序付けられている」ため、順序付けされているかランダムであるかに依存することはできません。
一言で言えば、いいえ:
>>> list(set(range(10000))) == list(range(10000))
True
いいえ、実際の統計目的でこれを信頼することはできません。Pythonでのセットの実装はハッシュテーブルの観点から行われ、要素分布にいくつかの非常に非ランダムなプロパティを表示させる可能性があります。「順序が保証されていない」と「均一にランダムに順序付けされていないことが保証されている」との間には大きなギャップがあります。
シーケンスの要素random.shuffleを実際にシャッフルするために使用します。
プログラムを設計するときは恣意性が中心です。予約するこれらの自由はそれぞれ、プログラムを実装、開発、または書き直すときに使用できるジョーカーカードのようなものです。収集するこれらのフリーカードが多ければ多いほど、コードを変更する自由が増えるため、コードから(おそらく)効率を高めることができます。
それはランダムではなく、ただの自由です。そのように設定した方がよい場合は、注文を水曜日に転送し、金曜日に「逆方向」にすることができます。