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']