randomモジュール

CodeIQの問題を解くのに random モジュールを調べたのでメモ。

cf. http://docs.python.jp/2.7/library/random.html

使った関数

random.randrange は指定された範囲の整数からランダムな整数を返す。

>>> import random
>>> random.randrange(1, 100)
51

random.sample は母集団のシーケンスから選ばれたリストをかえす。リストの長さを指定する。

>>> random.sample(range(1,101), 10)
[54, 3, 5, 58, 24, 18, 47, 57, 62, 40]

使ってない関数からいくつか

random.randint は整数a,bを指定しa≦N≦bであるような整数Nを返す。random.randrangeよりもこっちを使ったほうがよかったかも。

>>> random.randint(1,100)
20

random.choice は空でないシーケンスから要素をひとつ返す。

>>> random.choice(range(10))
8

random.shuffle はシーケンスxを直接かき混ぜる。

>>> x = range(10)
>>> x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> random.shuffle(x)
>>> x
[6, 2, 3, 8, 5, 4, 1, 7, 9, 0]

random.random は値域[0.0,1.0)からランダムな浮動小数点数を返す。

>>> random.random()
0.7121347944194496

とりあえずこんなとこかな。