\

Pythonのrandom.choices関数は、重み付きのランダム値を生成するための便利なツールです。この記事では、その使用方法と実際のコード例を紹介します。

random.choices関数の基本

random.choices関数は、指定したシーケンス(リスト、タプル、文字列など)からランダムに要素を選択し、その結果をリストとして返します。重み付けパラメータweightsまたはcum_weightsを使用することで、各結果の可能性を調整することができます。

基本的な使用方法は次のとおりです。

random.choices(sequence, weights=None, cum_weights=None, k=1)

実際のコード例

以下に、random.choices関数を使用して重み付きランダム値を生成するPythonのコード例を示します。

import random

# 1~6の目が出るサイコロ(dice)を用意
dice = list(range(1,7))

# 6の目が出やすいように重みを設定する
w = [1, 1, 1, 1, 1, 2]

# 歪んだサイコロを1000回振ってサンプルを得る
samples = random.choices(dice, k = 1000, weights = w)

# 結果の確認
for i in dice:
    print(i, ':', samples.count(i))

このコードは、1から6までの数字(サイコロの目)を持つリストからランダムに選択します。ただし、6の目が出る確率が他の目の2倍になるように重み付けしています。

まとめ

Pythonのrandom.choices関数は、重み付きのランダム値を簡単に生成することができます。これにより、現実世界の偏りや歪みを持つデータを模擬することが可能になります。この関数を理解し、適切に使用することで、Pythonプログラミングの幅が広がります。

投稿者 admin

コメントを残す

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