[Python]randomで整数の乱数のリストを生成するには?

python

どうも、ちょげ(@chogetarou)です。

randomで整数の乱数のリストを生成する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

randomで整数の乱数のリストを生成する方法は、4つあります。

sample()

1つ目は、sample()を使う方法です。

まず、randomをインポートします。

import random

次に、randomからsample()を呼び出します。

sample()の第1引数にrange()、第2引数に要素数を指定します。

第1引数のrange()に乱数の範囲を指定します。

#count=乱数の数、min=最小値、max=最大値
result = random.sample(range(min, max), count)

上記のrandom.sample()は、乱数の整数のリストを生成します。

使用例

import random

result = random.sample(range(20, 30), 10)
    
print(result)
出力:
[22, 20, 23, 24, 27, 28, 25, 26, 21, 29]

randint()

2つ目は、randint()を使う方法です。

まず、randomをインポートします。

import random

次に、 []を記述します。

[]内で乱数の数だけforループします。

ループ処理で、randomからrandint()を呼び出します。

そして、randint()の第1引数に最小値、第2引数に最大値を指定します。

#count=乱数の数、min=最小値、max=最大値
result = [random.randint(min, max) for i in range(count)]

上記の内包表記は、乱数の整数のリストを生成します。

使用例

import random

result = [random.randint(10, 20) for i in range(10)]
    
print(result)
出力:
[17, 20, 19, 15, 17, 10, 10, 14, 11, 19]

randrange()

3つ目は、randrange()を使う方法です。

まず、randomをインポートします。

import random

次に、 []を記述します。

[]内で乱数の数だけforループします。

forループの処理で、randomからrandrange()を呼び出します。

randrange()の第1引数に最小値、第2引数に最大値、第3引数に値の間隔を指定します。

#count=乱数の数、min=最小値、max=最大値、step=間隔
result = [random.randrange(min, max, step) for i in range(count)]

上記の内包表記は、乱数の整数のリストを生成します。

使用例

import random

result = [random.randrange(0, 100, 10) for i in range(10)]
    
print(result)
出力:
[10, 0, 40, 0, 80, 70, 20, 0, 50, 0]

forループ

4つ目は、forループを使う方法です。

まず、randomをインポートします。

import random

次に、空のリストを用意します。

for文でリストに追加する乱数の要素数の数だけループします。

ループ処理で、リストからappend()を呼び出します。

append()の引数で、randomからrandint()を呼び出します。

そして、randint()の第1引数に最小値、第2引数に最大値を指定します。

result = []

#count=乱数の数、min=最小値、max=最大値
for i in range(count):
    result.append(random.randint(min, max))

上記のfor文は、用意したリストにループした回数分の乱数の整数を格納します。

使用例

import random

result = []

for i in range(10):
    result.append(random.randint(0, 10))
    
print(result)
出力:
[5, 7, 7, 0, 3, 6, 2, 6, 7, 10]

まとめ

randomで整数の乱数のリストを生成する方法は、次の4つです。

  • sample()を使う方法
    result = random.sample(range(min, max), count)
  • randint()を使う方法
    result = [random.randint(min, max) for i in range(count)]
  • randrange()を使う方法
    result = [random.randrange(min, max, step) for i in range(count)]
  • forループを使う方法

コメント

タイトルとURLをコピーしました