Pythonディクショナリのアイテムをランダムな順序でループするにはどうすればよいですか?

データの足
D = {(1,1):2, (2,3):6, (3,4):12, (0,1):0, (4,9):36}

for (i,j),val in D.items():
    print(i,j,"-->",val)

(key,value)辞書ペアをループするとき、順序は決定論的ですか?ランダムな順序でそれらをループするにはどうすればよいですか?以下は、辞書が小さい場合は機能しますが、ペアが数千の場合はメモリエラーが発生します。

from itertools import permutations

P = list(permutations(D.items()))
for (i,j),val in sample(P,1)[0]:
    print(i,j,"-->",val)
cs95

エントリを繰り返す前に、エントリをシャッフルするのは比較的簡単なはずです。

from random import shuffle

dict_as_list_of_entries = [*D.items()]
shuffle(dict_as_list_of_entries) # randomizes the order

for (i, j), value in dict_as_list_of_entries:
    # do something

辞書は挿入順序を記憶しているため、これはcpython3.6(python3.7)以降では意味があります。下位バージョンでは、結果は決定論的ではありません(実際には、「決定論的ではない」よりも少しニュアンスがありますが、これで問題ありません)。

の出力はshuffle、ランダマイザーをシードすることによって決定論的にすることもできることに注意してください「真のランダム性」はまだ概念に過ぎませんが、コンピューターはそれを達成するのに近づいています。ほとんどのランダマイザールーチンは、ランダム性とパフォーマンスの間のトレードオフです。

辞書のすべての順列を生成しているため、OOMしていることに注意してください(実際には、すべてではなく1つのランダム順列が必要です)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ループでソートせずにキーディクショナリの順序を維持するにはどうすればよいですか?

分類Dev

JavaScriptのみでアクティブなナビゲーションアイテムを設定するにはどうすればよいですか?

分類Dev

モーダルポップアップテキストフィールドの順序付けされていないリストから特定のリストアイテムを編集するにはどうすればよいですか?

分類Dev

Androidでランダムな順序で翻訳アニメーションを開始するにはどうすればよいですか?

分類Dev

Djangoでフィルタリングするときにアイテムの順序を保持するにはどうすればよいですか?

分類Dev

Pythonで、各アイテムが異なる個別のキー値ペアを持つオブジェクト/ディクテーションのリストで最小のキー値ペアを取得するにはどうすればよいですか?

分類Dev

ソリューションエクスプローラーがエディターで選択したアイテムを自動的に開かないようにするにはどうすればよいですか(VS 2015)?

分類Dev

ナビゲーションドロワーのこのアイテムのパディングを克服するにはどうすればよいですか?

分類Dev

Meteorコレクションから2つのランダムなアイテムを公開するにはどうすればよいですか?

分類Dev

フィルタカスタムテンプレートを使用して、HTMLファイルからディクショナリ値にアクセスするにはどうすればよいですか?

分類Dev

JMenuのアイテムにアクセスし、アクションリスナーを操作するにはどうすればよいですか?

分類Dev

デリゲートのコレクションビューセルからindexPathアイテムを取得するにはどうすればよいですか?

分類Dev

リスト内のアイテムを並べ替えられた順序でグループ化するにはどうすればよいですか?

分類Dev

順序付けされていないリストアイテムからインデントを削除するにはどうすればよいですか?

分類Dev

Asp.NET MVCで「このディクショナリにはタイプのモデルアイテムが必要です」を修正するにはどうすればよいですか?

分類Dev

反応ネイティブチャットアプリケーションでGraphQlサブスクリプションを使用して、GraphQlクエリからリアルタイムの更新を取得するにはどうすればよいですか?

分類Dev

アプリケーションで現在アクティブなフォームを取得するにはどうすればよいですか?

分類Dev

ナビゲーションリンクのサブリストアイテムを右側に表示するにはどうすればよいですか?

分類Dev

Waylandの下のコンテナでグラフィカルアプリケーションを実行するにはどうすればよいですか?

分類Dev

ナビゲーションドロワーアイテムへのリンクを追加するにはどうすればよいですか?

分類Dev

ループ内のランダムな値でCSSアニメーションを再開するにはどうすればよいですか?

分類Dev

ユーザーがナビゲーションリンクをクリックする前に、ナビゲーションバーアイテムをデフォルトでアクティブに設定するにはどうすればよいですか?

分類Dev

jQuery ImageViewerプラグインのアクティブなアイテムに画像タイトルを追加するにはどうすればよいですか?

分類Dev

Djangoでこのコンテキストディクショナリを適切にループするにはどうすればよいですか?

分類Dev

異なるフォントを使用するためにselectの各オプションのスタイルを設定するにはどうすればよいですか(マテリアライズCSSフレームワークを使用)

分類Dev

Sinatra アプリケーション内の Slim テンプレートでランダムなパーシャルをレンダリングするにはどうすればよいですか?

分類Dev

Googleカレンダーアプリの「今日」のアクションアイテムのように、動的なテキストをすべて描画可能な画像に含めるにはどうすればよいですか。

分類Dev

Python辞書のアイテムの順序を保持するにはどうすればよいですか?

分類Dev

Linq to Entityを使用して、C#Windowsフォームアプリケーションの関連テーブルのフィールド順に結果をクエリするにはどうすればよいですか?

Related 関連記事

  1. 1

    ループでソートせずにキーディクショナリの順序を維持するにはどうすればよいですか?

  2. 2

    JavaScriptのみでアクティブなナビゲーションアイテムを設定するにはどうすればよいですか?

  3. 3

    モーダルポップアップテキストフィールドの順序付けされていないリストから特定のリストアイテムを編集するにはどうすればよいですか?

  4. 4

    Androidでランダムな順序で翻訳アニメーションを開始するにはどうすればよいですか?

  5. 5

    Djangoでフィルタリングするときにアイテムの順序を保持するにはどうすればよいですか?

  6. 6

    Pythonで、各アイテムが異なる個別のキー値ペアを持つオブジェクト/ディクテーションのリストで最小のキー値ペアを取得するにはどうすればよいですか?

  7. 7

    ソリューションエクスプローラーがエディターで選択したアイテムを自動的に開かないようにするにはどうすればよいですか(VS 2015)?

  8. 8

    ナビゲーションドロワーのこのアイテムのパディングを克服するにはどうすればよいですか?

  9. 9

    Meteorコレクションから2つのランダムなアイテムを公開するにはどうすればよいですか?

  10. 10

    フィルタカスタムテンプレートを使用して、HTMLファイルからディクショナリ値にアクセスするにはどうすればよいですか?

  11. 11

    JMenuのアイテムにアクセスし、アクションリスナーを操作するにはどうすればよいですか?

  12. 12

    デリゲートのコレクションビューセルからindexPathアイテムを取得するにはどうすればよいですか?

  13. 13

    リスト内のアイテムを並べ替えられた順序でグループ化するにはどうすればよいですか?

  14. 14

    順序付けされていないリストアイテムからインデントを削除するにはどうすればよいですか?

  15. 15

    Asp.NET MVCで「このディクショナリにはタイプのモデルアイテムが必要です」を修正するにはどうすればよいですか?

  16. 16

    反応ネイティブチャットアプリケーションでGraphQlサブスクリプションを使用して、GraphQlクエリからリアルタイムの更新を取得するにはどうすればよいですか?

  17. 17

    アプリケーションで現在アクティブなフォームを取得するにはどうすればよいですか?

  18. 18

    ナビゲーションリンクのサブリストアイテムを右側に表示するにはどうすればよいですか?

  19. 19

    Waylandの下のコンテナでグラフィカルアプリケーションを実行するにはどうすればよいですか?

  20. 20

    ナビゲーションドロワーアイテムへのリンクを追加するにはどうすればよいですか?

  21. 21

    ループ内のランダムな値でCSSアニメーションを再開するにはどうすればよいですか?

  22. 22

    ユーザーがナビゲーションリンクをクリックする前に、ナビゲーションバーアイテムをデフォルトでアクティブに設定するにはどうすればよいですか?

  23. 23

    jQuery ImageViewerプラグインのアクティブなアイテムに画像タイトルを追加するにはどうすればよいですか?

  24. 24

    Djangoでこのコンテキストディクショナリを適切にループするにはどうすればよいですか?

  25. 25

    異なるフォントを使用するためにselectの各オプションのスタイルを設定するにはどうすればよいですか(マテリアライズCSSフレームワークを使用)

  26. 26

    Sinatra アプリケーション内の Slim テンプレートでランダムなパーシャルをレンダリングするにはどうすればよいですか?

  27. 27

    Googleカレンダーアプリの「今日」のアクションアイテムのように、動的なテキストをすべて描画可能な画像に含めるにはどうすればよいですか。

  28. 28

    Python辞書のアイテムの順序を保持するにはどうすればよいですか?

  29. 29

    Linq to Entityを使用して、C#Windowsフォームアプリケーションの関連テーブルのフィールド順に結果をクエリするにはどうすればよいですか?

ホットタグ

アーカイブ