【初心者向け】Pythonの乱数関数まとめ!randomモジュールの使い方を徹底解説
乱数は、ゲーム開発、シミュレーション、テスト、セキュリティ、プライバシー保護など、幅広い分野で活用されています。Pythonでは標準ライブラリの random モジュールを使うことで、これらの乱数を簡単に生成することができます。
この記事では、Pythonでよく使われる代表的な乱数関数を一覧表とコード例つきでわかりやすく解説します。
Pythonの主な乱数関数一覧
| No. | 関数名 | 説明 |
|---|---|---|
| 1 | choice(seq) | リスト・タプル・文字列などのシーケンスから、ランダムに要素を1つ選んで返します。 |
| 2 | randrange([start] stop [,step]) | range(start, stop, step) で生成される範囲の中から、ランダムに1つの要素を選んで返します。 |
| 3 | random() | 0 以上 1 未満の範囲(0 ≤ r < 1)のランダムな浮動小数点数 r を返します。 |
| 4 | seed([x]) | 乱数生成に使用する整数の初期値(シード値)を設定します。他の random モジュールの関数を呼び出す前に実行してください。戻り値は None です。 |
| 5 | shuffle(lst) | リストの要素をその場でランダムに入れ替えます(シャッフル)。戻り値は None です。 |
| 6 | uniform(x, y) | x 以上 y 未満の範囲(x ≤ r < y)のランダムな浮動小数点数 r を返します。 |
各関数の使い方とサンプルコード
1. choice():リストからランダムに1つ選ぶ
import random
fruits = ['りんご', 'バナナ', 'オレンジ']
print(random.choice(fruits)) # 出力例: バナナ
2. randrange():指定範囲から整数を取得する
import random
# 0以上100未満の5の倍数から1つ選択
print(random.randrange(0, 100, 5)) # 出力例: 35
3. random():0以上1未満の小数を取得する
import random
print(random.random()) # 出力例: 0.7362543210987654
4. seed():乱数の初期値を固定する
seed() に同じ値を渡すと、毎回同じ乱数列を再現できます。デバッグや再現性が必要なテストに便利です。
import random
random.seed(42)
print(random.random()) # 常に同じ値が出力される
5. shuffle():リストをシャッフルする
import random
cards = [1, 2, 3, 4, 5]
random.shuffle(cards)
print(cards) # 出力例: [3, 1, 5, 2, 4]
6. uniform():任意の範囲の小数を取得する
import random
print(random.uniform(1.5, 10.5)) # 出力例: 6.832145789654123
まとめ
Pythonの random モジュールには、用途に応じて使い分けられる便利な乱数関数が多数用意されています。要素の選択には choice()、整数の乱数には randrange()、小数の乱数には random() や uniform()、並べ替えには shuffle() といったように、目的に合わせて活用しましょう。また、結果の再現が必要な場合は seed() を使うことをおすすめします。
-
【Python入門】リストに存在しない乱数を選択・生成する方法
リストに含まれない乱数を選択する基本の考え方 Pythonで「指定したリストに含まれていない乱数」を取得したい場合、最もシンプルな方法は、範囲内の乱数を繰り返し生成し、その値がリストに存在しないことを確認できた時点で採用するというアプローチです。 乱数の生成には標準ライブラリ random モジュールの randrange() 関数を使用し、リストとの重複チェックにはメンバーシップ演算子の not in を使います。 実装例:while文で条件を満たすまで繰り返す import random l1 = [2, 4, 7] while True: x = random.randra
-
Pythonで乱数を生成する方法を徹底解説!randomモジュールの基本と使い方
Pythonの標準ライブラリには、乱数を生成するための機能がまとめられた random モジュールが用意されています。このモジュールを利用することで、浮動小数点数や整数の乱数、シーケンスからのランダムな要素の取得などを簡単に実現できます。ここでは、よく使われる主要な関数をサンプルコードとともに紹介します。random():0以上1未満の浮動小数点数を生成もっとも基本的な関数が random() です。この関数は、0以上1未満の範囲のランダムな浮動小数点数を返します。>>> import random>>> random.random()0.520470277