個人的神殿

プログラミング

pythonの標準ライブラリを知る ~random~

randomは、ランダムな浮動小数点や整数を取得するためのライブラリ。
ただ機密性が低いため、セキュリティが関わっている場合には使うべきではない。

1.random.random()
random.random()は、0.0以上1.0未満  0. 0 <= float型 < 1. 0  の浮動小数点数を返す。

import random

print(random.random())

0.6964593221533264

2.random.uniform()
random.uniform()は、小さい方の引数値 <= float型 <= 大きい方の引数値 を満たす浮動小数点数を返す。

import random

print(random.uniform(10, 100))
print(random.uniform(1.234, 5.678))
85.58939439679385
2.9936771686914847


3.random.randint()
random.randint()は渡された2つの引数の範囲 第1引数値 <= int型 <= 第2引数値 を満たす整数を返す。
ちなみに第2引数より第1引数が大きいとエラーになる。
引数はint型のみ。

import random

print(random.randint(10, 100))
44


4.random.randrange()
random.randrange()は、第1引数値以上、第2引数値未満、第3引数値間隔 での整数を返す。
・第1引数のみ……0以上、引数値未満の整数
・第1、第2引数のみ……第1引数値以上、第2引数値未満の整数
・第1、第2、第3引数……第1引数値以上、第2引数値未満(第3引数値間隔)の整数を返す。

import random

print(random.randrange(100))
print(random.randrange(30, 100))
print(random.randrange(1, 10, 1))
99
30
8

5.random. shuffle()
random.shuffle()は渡したリストの要素をランダムに並び替える。
並び替えたリストを返すのではなくて、渡したリストそのものを並び替える。

import random

list1 = [1, 2, 3, 4, 5]
print(list1)
random.shuffle(list1)
print(list1)
[1, 2, 3, 4, 5]
[3, 1, 2, 4, 5]

6.random.sample()
random.sample()は、渡したリストの要素をランダムに並び替えたものを返す。
random.shuffle()と違って、渡したリストそのものに変化は無い。
第2引数には、取得して並び替えたい要素の数を指定する必要がある。

import random

list1 = [1, 2, 3, 4, 5]
new_list1 = random.sample(list1, len(list1))
print(list1)
print(new_list1)

list2 = ["a", "b", "c", "d", "e"]
new_list2 = random.sample(list2, 2)
print(list2)
print(new_list2)
[1, 2, 3, 4, 5]
[1, 5, 3, 4, 2]
['a', 'b', 'c', 'd', 'e']
['a', 'c']