\

PythonとNumPyを使用して重複のない乱数を生成する方法について説明します。NumPyのrandomモジュールは、乱数生成のための便利なツールを提供しています。

NumPyの乱数生成器の使用

まず、NumPyの乱数生成器をインスタンス化します。以下にその基本的な使い方を示します。

import numpy as np

# 乱数生成器オブジェクトの作成
rng = np.random.default_rng()

# 乱数の作成
rfloat = rng.random()
print(rfloat)

このコードは、乱数生成器オブジェクトを作成し、その後で乱数を生成します。

重複のない乱数の生成

重複のない乱数を生成するには、生成された乱数をリストなどに保持しておき、既出かどうかをチェックします。以下にそのサンプルコードを示します。

import random

# 重複ありうる
def rand_ints_dup(a, b, k):
    return [random.randint(a, b) for i in range(k)]

# 重複なし
def rand_ints_nodup(a, b, k):
    ns = []
    while len(ns) < k:
        n = random.randint(a, b)
        if not n in ns:
            ns.append(n)
    return ns

print(rand_ints_dup(0, 10, 7))
print(rand_ints_nodup(0, 10, 7))

このコードは、重複ありの数列を作成する関数rand_ints_dupと、重複なしの数列を作成する関数rand_ints_nodupを定義しています。引数aが下限、引数bが上限、引数kが要素数です。

以上がPythonとNumPyを使用して重複のない乱数を生成する方法になります。この情報がPythonの乱数生成に関する理解を深めるのに役立つことを願っています。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です