python中的隨機函數(random)


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM