範囲内で一意の乱数を生成する
Python でrandom.randint() を使用して範囲内で乱数を生成するのは一般的なタスクです、n 個のそのような数値のリストを作成する場合と同様です。ただし、リスト内の各数値が一意である必要がある場合は、より洗練されたアプローチが必要です。
条件付きステートメントを使用して重複をチェックすることもオプションですが、よりシンプルで効率的なソリューションが存在します。 random.sample() 関数を使用すると、置換なしでサンプリングを実行できます。この関数は母集団とサンプル サイズ k を受け取り、母集団の k 個のランダムで一意のメンバーを返します。
import random population = range(1, 100) unique_random_numbers = random.sample(population, 3) print(unique_random_numbers) # Output: [77, 52, 45]
k が母集団の長さを超える場合、ValueError が発生します。このケースを適切に処理するには、例外をキャッチして適切に処理します。
try: random.sample(range(1, 2), 3) except ValueError: print('Sample size exceeded population size.')
random.sample() を使用すると、指定された範囲内で一意の乱数のセットを簡単に生成でき、複雑な条件チェックが必要です。
以上がPython で範囲内の一意の乱数を生成するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。