ホームページ >バックエンド開発 >Python チュートリアル >Python で範囲内の一意の乱数のリストを生成するにはどうすればよいですか?

Python で範囲内の一意の乱数のリストを生成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-02 22:39:11791ブラウズ

How Can I Generate a List of Unique Random Numbers Within a Range in Python?

範囲内での一意の乱数の生成

random.randint を使用して範囲内で乱数を生成できるとすると、次のタスクが発生します。一意の乱数のリストを生成する。反復的な条件ステートメントが解決策として機能する可能性がありますが、この結果を効率的に達成するには、より洗練されたアプローチが存在します。

ランダム サンプリング

Python のランダム モジュールは、特にサンプルという名前の関数を提供します。交換せずにサンプリングできるように設計されています。この関数は、母集団 (数値のリストなど) とサンプル サイズを引数として受け取り、母集団からランダムに選択された一意の要素のリストを返します。

たとえば、3 つの一意の乱数のリストを生成するには[1, 100] の範囲内では、次のコードを使用できます。

import random

population = range(1, 100)  # Initialize the population
sample_size = 3  # Set the sample size
random_sample = random.sample(population, sample_size)

random_sample には、範囲内の 3 つの一意の乱数のリストが含まれます。

サイズの不一致の処理

サンプル サイズが母集団サイズを超える場合、sample は ValueError を発生させることに注意することが重要です。このシナリオに対処するには、try-excel ブロッ​​クを使用して例外をキャッチし、それに応じて処理できます。

たとえば、サイズ 2 の母集団からサイズ 3 のサンプルを生成しようとするには、次のように記述できます。次のコード:

try:
    random.sample(range(1, 2), 3)
except ValueError:
    print('Sample size exceeded population size.')

サンプル サイズが母集団サイズよりも大きい場合、このコードはクラッシュせずに情報メッセージを出力します。

以上がPython で範囲内の一意の乱数のリストを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。