1、python中的random函數
random() 方法返回隨機生成的一個實數,它在[0,1)范圍內
語法:
import random random.random()
randint函數,返回指定范圍的一個隨機整數,包含上下限
import random random.randint(0,99)#返回0~99之間的整數
randrange函數,randrange(0,101,2)可以用來選曲0~100之間的偶數
2、random.seed(int)
- 給隨機數對象一個種子值,用於產生隨機序列。
- 對於同一個種子值的輸入,之后產生的隨機數序列也一樣。
- 通常是把時間秒數等變化值作為種子值,達到每次運行產生的隨機系列都不一樣
- seed() 省略參數,意味着使用當前系統時間生成隨機數
random.seed(10) print random.random() #0.57140259469 random.seed(10) print random.random() #0.57140259469 同一個種子值,產生的隨機數相同 print random.random() #0.428889054675 random.seed() #省略參數,意味着取當前系統時間 print random.random() random.seed() print random.random()
3、 random.uniform(u,sigma)
- 隨機正態浮點數
print random.uniform(1,5)
4、random.randrange(start,stop,step)
- 按步長隨機在上下限范圍內取一個隨機數
print random.randrange(20,100,5)
5、隨機選擇字符
- 隨機的選取n個字符
print(random.sample('abcdefghijk',3))
- 隨機的選取一個字符
print(random.choice('af/fse.faek``fs'))
- 隨機選取幾個字符,再拼接成新的字符串
print string.join(random.sample('abcdefhjk',4)).replace(" ","")
6、random.shuffle
- 對list列表隨機打亂順序,也就是洗牌
- shuffle只作用於list,對Str會報錯比如‘abcdfed’,而['1','2','3','5','6','7']可以
item=[1,2,3,4,5,6,7] print item random.shuffle(item) print item item2=['1','2','3','5','6','7'] print item2 random.shuffle(item2) print item2
7、numpy模塊中的randn和rand函數
numpy.random.randn(d0,d1,...,dn),正太隨機
numpy.random.rand(d0,d1,...,dn),選擇[0,1]范圍內的隨機數
In [55]: import numpy In [56]: numpy.random.randn(2,3) Out[56]: array([[ 1.62434536, -0.61175641, -0.52817175], [-1.07296862, 0.86540763, -2.3015387 ]]) In [57]: numpy.random.rand(2,3) Out[57]: array([[0.41919451, 0.6852195 , 0.20445225], [0.87811744, 0.02738759, 0.67046751]])