どうも、ちょげ(@chogetarou)です。
randomで整数の乱数のリストを生成する方法を紹介します。
方法

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ループを使う方法
コメント