random【擬似乱数】3.2 / 3.6 / 3.9~3.113.12
メモ
- 概要
- シミュレーション等の用途で扱う乱数
- パスワード等の機密情報を扱う場合は、secrets【暗号論的擬似乱数】を利用
- 外部ライブラリの NumPy【科学技術計算】等にも存在するので、状況に合わせて使い分け
- 状態関数〔 例 〕
seed【初期化】3.2 / 3.9 / 3.11 getstate【内部状態取得】 setstate【内部状態設定】 - ランダム値生成関数〔 例 〕
getrandbits【ランダム整数生成 (ビット指定)】 randbytes【ランダムバイト生成】3.9 randint【ランダム整数生成】 3.2 randrange【ランダム整数生成 (等差数列)】 3.2 / 3.103.12 - シーケンス操作関数〔 例 〕
choice【要素選択】 3.2 choices【複数要素選択 (重複あり)】3.6 shuffle【シャッフル (インプレース)】 3.2 / 3.9 / 3.11 sample【複数要素選択 (重複なし)】 3.2 / 3.9 - 離散分布関数
binomialvariate【二項分布】3.12 - 実数値分布関数〔 例 〕
- クラス・関数
クラス 備考 class random.Random( [seed] ) 擬似乱数 (デフォルト)
seedシード値
None | int | float | str | bytes | bytearray
その他 3.9class random.SystemRandom( [seed] ) システム提供乱数 (secrets【暗号論的擬似乱数】 参照)
seedシード値 (無視)
NotImplementedError 例外 getstate【内部状態取得】・setstate【内部状態設定】呼び出し関数 備考 betavariate(alpha, beta) ベータ分布
戻り値ベータ分布の乱数
alpha形状α (0<alpha)
beta形状β (0<beta)binomialvariate(n=1, p=0.5) 3.12 二項分布
成功数 (整数:0~n)
n試行回数 (負でない整数)
p成功確率 (0.0 ≦ p ≦ 1.0)choice(seq) 3.2 要素選択
戻り値seq内の1つ
seq空でないシーケンス
IndexError 例外seqが空
※生成改善 3.2choices(
population,
weights=None,
*,
cum_weights=None,
k=1) 3.6複数要素選択 (重複あり)
戻り値選択要素
population母集団のシーケンス
weights相対的な重みのシーケンス (非負数 / 内部で累積的な重みに変換)
cum_weights (キーワード引数)累積的な重みのシーケンス (非負数)
k (キーワード引数)選択数
IndexError 例外populationが空
TypeError 例外weights と cum_weights を両方指定
ValueError 例外3.9 重みが全て0 / 重みの数がpopulationの数と相違expovariate(lambd=1.0) 3.12 指数分布
戻り値指数分布の乱数
lambd平均にしたい値の逆数 (デフォルト:1.0 3.12 )gammavariate(alpha, beta) ガンマ分布
戻り値ガンマ分布の乱数
alpha形状母数 (0<)
beta尺度母数 (0<)gauss(mu=0.0, sigma=1.0) ガウス分布
戻り値ガウス分布の乱数
mu平均 (デフォルト:0.03.11 )
sigma標準偏差 (デフォルト:1.03.11 )
※normalvariate【正規分布】より少し高速、但しスレッドセーフではないgetrandbits(k) ランダム整数生成 (ビット指定)
戻り値ランダム整数 (kビット)
kビット数 (0 も可3.9 )getstate() 内部状態取得
戻り値内部状態オブジェクトlognormvariate(mu, sigma) 対数正規分布
戻り値対数正規分布の乱数
mu平均
sigma標準偏差 (0<)normalvariate(mu=0.0, sigma=1.0) 正規分布
戻り値正規分布の乱数
mu平均 (デフォルト:0.03.11 )
sigma標準偏差 (デフォルト:1.03.11 )
※gauss【ガウス分布】paretovariate(alpha) パレート分布
戻り値パレート分布の乱数
alpha形状randbytes(n) 3.9 ランダムバイト生成
戻り値ランダムバイト
nバイト数randint(a, b) 3.2 ランダム整数生成
戻り値ランダム整数N (a≦N≦b)
a下限 (含む)
b上限 (含む)
※生成改善 3.2random() 一様分布
戻り値一様分布の乱数N (0.0≦N<1.0)randrange(start, stop[, step]) 3.23.12
randrange(stop) 3.23.12ランダム整数生成 (等差数列)
戻り値ランダム整数N (start≦N<stop)
start開始整数値 (省略:0)
stop終了整数値 (含まない)
stepステップ整数値 (省略:1)整数と同等の非整数は整数に自動変換 (例:10.0) 3.10上記以外の非整数はValueErrorTypeError 例外3.10
非整数の自動変換なし (非整数:TypeError 例外) 3.12
※choice(range(start, stop, step)) と同等
※生成改善 3.2sample(
population,
k,
*,
counts3.9 =None)複数要素選択 (重複なし)
戻り値選択要素
population母集団のシーケンス (set【集合型 (可変)】3.9 不可3.11 )
k選択数
counts (キーワード引数)3.9複製数のシーケンス
ValueError 例外populationの大きさ<k
※生成改善 3.2seed(a=None, version3.2 =2) 初期化
aシード値 (省略:現在システム時刻)
NoneType | int | float | str | bytes | bytearray
その他 3.9エラー3.11
version3.2バージョン (省略:2)setstate(state) 内部状態設定
state内部状態オブジェクトshuffle(x [, random3.9]3.11 )シャッフル (インプレース)
xシーケンスrandom3.90.0 以上 1.0 未満の数値を返却する関数 (デフォルト:random【一様分布】)3.11
※生成改善 3.2triangular(low=0.0, high=1.0, mode=None) 三角分布
戻り値三角分布の乱数
low最小値
high最大値
mode最頻値 (省略:lowとhighの中間)uniform(a, b) 一様分布 (範囲指定)
戻り値 一様分布の乱数N (a≦N≦b または b≦N≦a)
a最小値 (最大値)
b最大値 (最小値)vonmisesvariate(mu, kappa) フォン・ミーゼス分布
戻り値フォン・ミーゼス分布の乱数
mu平均の角度 (ラジアン単位:0 ~ 2π)
kappa濃度 (0≦)weibullvariate(alpha, beta) ワイブル分布
戻り値ワイブル分布の乱数
alpha尺度
beta形状
外部リンク
例
状態関数
ランダム値生成関数
シーケンス操作関数
実数値分布関数
外部ライブラリの matplotlib【グラフ描画ライブラリ】使用