シミュレーションやニューラルネットワーク(ディープラーニング)等で多数の乱数を発生させる必要がある場合は,処理速度等の理由から NumPy の乱数生成 (Random Generator) の使用を推奨します.
リストの要素からランダムに抽出する場合は,random.choice()
を使うと良いでしょう.たとえば,サイコロの実験は次のように書くこともできます.
サイコロの目
import random # プログラムの先頭でモジュールを読み込む
n = 10
dice = [1,2,3,4,5,6]
for i in range(n):
die = random.choice(dice)
print(die)
4 2 2 1 4 5 4 1 1 3
リスト(list)から重複なくn個の要素を選びたければ random.sample(list, n)
を使うと良いでしょう.
1から100の数値から10個を重複なく選ぶ
s = random.sample(range(1,101), 10)
print(s)
[51, 83, 73, 19, 15, 44, 21, 50, 14, 98]