私は辞書のキーである40.000のIDを持っています。シャッフルする必要があります(例えば、random.shuffle)。しかし、私はそのステップをスキップできますか?辞書のキーの順序をランダムな順列と見なすことはできますか?
ディクショナリにはキーが格納されていないので、keys = dict.keys()
を入力すると、keys
には昇順ではないキーが含まれます。私のプログラムは一度だけ実行されるので、 "順列の結果"が実行の間で同じかどうかは気にしません。
だから私はシャットダウンのステップをスキップしてスキップすることはできますか?
私は、キーの順序が少し予測可能であることを理解しています。
キーの順序と同じ(ずっと)であることをrandom.shuffle()
によって生成された順列のチャンスが(大まかに)は何ですか?私は何を求めていますけれども、このですか
辞書の順番はほとんどランダムではありません。あなたはそれに真のシャッフルを行うことによって、はるかに良い結果を得るでしょう。シャッフルのスピードは線形でなければならないので、パフォーマンスは問題ではありません。 –
'辞書の順序はほとんどランダムではありません - それは未定義です。それについての説明がうまくいくかもしれません。 – gsamaras
私は、ハッシュテーブルとハッシュ関数を読むことをお勧めします。あなたはおそらくハッシュバケットの順序でキーを取得しています。 –