範囲内での一意の乱数の生成
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 サイトの他の関連記事を参照してください。