Pythonのrandomモジュールでランダムな小数・整数を生成


press
Pythonのrandomモジュールでランダムな小数・整数を生成

Pythonのrandomモジュールでランダムな小数・整数を生成

Pythonで乱数(ランダムな小数や整数)が生成できる、randomモジュールの使い方を説明します。

開発環境

Python 3.8.0

float型の乱数を生成(1)

print([random.random() for i in range(10)])
[0.5402962015033018, 0.9117647185441886, 0.7671376519179925, 0.6139038287573314, 0.67456975338617, 0.5892681067257833, 0.46150379759093973, 0.7421262343944842, 0.4759363325771525, 0.4535277704071454]

float型の乱数を10個生成します。

float型の乱数を生成(2)

print(random.uniform(10, 20))

print(random.uniform(100, -100))
14.43047883129314
-24.78297533034346

(10, 20)のように任意の範囲を指定して乱数を生成できます。

int型の乱数を生成(1)

print(list(range(10, 30, 3)))

print(random.randrange(10, 30, 2))
[10, 13, 16, 19, 22, 25, 28]
28

最後の引数はstepを指定すると2や3の倍数の乱数を生成できます。

print(list(range(10, 30, 3)))
10から30までの範囲で3の倍数をリスト化し表示

print(random.randrange(10, 30, 2))
10から30までの範囲で2の倍数から乱数を取得

int型の乱数を生成(2)

print(random.randint(10, 20))
17

10から30までの範囲で整数の乱数を生成します。

int型の乱数のリスト生成

print(random.sample(range(10), 5))

print(random.sample(range(100, 200, 10), 3))
[1, 7, 5, 8, 9]
[170, 130, 180]

sampleは重複しない整数の乱数リストを生成します。(randrange()randint()は重複する可能性があります)

print(random.sample(range(10), 5)
10までの範囲で重複しない整数を5つリスト化

print(random.sample(range(100, 200, 10), 3))
100から200までの範囲で重複しない10の倍数を3リスト化

乱数の初期化

random.seed(10)
print(random.random())
0.5714025946899135

seed()に任意の数値を指定し乱数シードを固定することで毎回同じ値が生成されます。


当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。


人気のタグ

Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n IAM Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Sentry slack tqdm uWSGI venv Vue.js youtube


株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    Show Comments (0)

    Comments

    Related Articles

    Python

    Rembgで画像から背景を削除

    Rembgで画像から背景を削除 先日、SNSで見た画像の背景を削除して切り抜くPythonのライブラリを見つけたので早速試してみました。普段業務で画像の背景を処理することも多くソフトを使って背景を削除していたので、Pyt […]

    Posted on by press
    Django

    Dockerを使ってDjangoとPostgreSQL環境を構築(2)

    前回の内容が古くなってしまったので2021年版に更新します。 Dockerを使ってシンプルなDjangoとPostgreSQLの開発環境を構築する方法の2021年版です。以下の点が前回より変わった点です。・Volumeを […]

    Posted on by press