Python random ライブラリ完全ガイド

Python 標準ライブラリの random は、乱数を生成し、ランダムなデータの選択やシャッフルを行うための便利なツールです。本記事では、random ライブラリの基本概念から実践的な使用例までを詳しく解説します。

1. random ライブラリの概要

  • random は、擬似乱数を生成するための標準ライブラリです。
  • 整数・小数のランダムな値の生成、リスト要素のシャッフル、重み付き選択などが可能です。
  • 確率・統計、ゲーム開発、データサンプリングなどに広く活用されます。

インストール方法

random は Python の標準ライブラリなので、追加のインストールは不要です。

import random
--- ## 2. 主な機能と使用例 ### (1) 乱数の生成
import random

# 0 以上 1 未満の乱数を生成
print("ランダムな小数:", random.random())

# 指定範囲の整数を生成
print("10 から 100 のランダムな整数:", random.randint(10, 100))

# 指定範囲の小数を生成
print("1.5 から 5.5 のランダムな小数:", random.uniform(1.5, 5.5))
**使用例:** 確率・統計分析やランダムなデータのテストに活用されます。 --- ### (2) ランダムな要素の選択
import random

items = ['apple', 'banana', 'cherry', 'date']

# リストからランダムな要素を取得
print("ランダムなフルーツ:", random.choice(items))

# 複数の要素をランダムに選択(重複なし)
print("2つのフルーツを選択:", random.sample(items, 2))

# 複数の要素をランダムに選択(重複あり)
print("3つのフルーツを選択(重複あり):", random.choices(items, k=3))
**使用例:** ガチャシステムや乱数に基づく抽選に利用できます。 --- ### (3) リストのシャッフル
import random

numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print("シャッフル後のリスト:", numbers)
**使用例:** カードゲームやデータのランダム化処理に活用できます。 --- ### (4) 乱数の種(シード)の設定
import random

# 乱数のシードを設定(同じ結果を得る)
random.seed(42)
print("シード設定後の乱数:", random.random())
**使用例:** デバッグや再現性のあるシミュレーションを行う際に利用されます。 --- ### (5) 正規分布に基づく乱数生成
import random

# 平均0、標準偏差1の正規分布に基づく乱数
print("正規分布に基づく乱数:", random.gauss(0, 1))
**使用例:** 統計分析や機械学習のデータシミュレーションに活用されます。 --- ### (6) 一様分布に基づく乱数生成
import random

# 0 から 1 までの一様分布乱数
print("一様分布の乱数:", random.uniform(0, 1))
**使用例:** ゲームの確率シミュレーションやランダムな試行実験に活用できます。 --- ### (7) 指定した確率でのランダム選択
import random

items = ["apple", "banana", "cherry"]
weights = [0.1, 0.3, 0.6]  # 各要素の選択確率
print("確率付きのランダム選択:", random.choices(items, weights=weights, k=5))
**使用例:** 宝くじやゲームのアイテムドロップ率の計算に使用されます。 --- ## 3. `random` vs `numpy.random` の比較 | 機能 | `random` ライブラリ | `numpy.random` ライブラリ | |-------------------------|---------------|-----------------| | 整数・小数の乱数生成 | ✅ | ✅ | | リスト要素のシャッフル | ✅ | ✅ | | 乱数の種(シード)設定 | ✅ | ✅ | | 高速な乱数生成 | ❌ | ✅ | | 正規分布などの確率分布 | ❌ | ✅ | --- ## まとめ Python の `random` ライブラリは、乱数を扱うための基本的なツールです。シンプルな乱数生成、リストのシャッフル、ランダムな選択など、多くの用途に活用できます。高度な確率分布や大規模なデータ処理を行う場合は `numpy.random` との組み合わせも検討してください! 🚀