如果你已經了解偽隨機數(psudo-randomnumber)的原理,那么你可以使用如下:
random.seed(x)
來改變隨機數生成器的種子seed。如果你不了解其原理,你不必特別去設定seed,Python會幫你選擇seed。
1)隨機挑選和排序
random.choice(seq)#從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
random.sample(seq,k)#從序列中隨機挑選k個元素
random.shuffle(seq)#將序列的所有元素隨機排序
2)隨機生成實數
下面生成的實數符合均勻分布(uniformdistribution),意味著某個范圍內的每個數字出現的概率相等:
random.random()#隨機生成下一個實數,它在[0,1)范圍內。
random.uniform(a,b)#隨機生成下一個實數,它在[a,b]范圍內。
下面生成的實數符合其它的分布(你可以參考一些統計方面的書籍來了解這些分布):
random.gauss(mu,sigma)#隨機生成符合高斯分布的隨機數,mu,sigma為高斯分布的兩個參數。
random.expovariate(lambd)#隨機生成符合指數分布的隨機數,lambd為指數分布的參數。
此外還有對數分布,正態分布,Pareto分布,Weibull分布,可參考下面鏈接:
http://docs.python.org/library/random.html
假設我們有一群人參加舞蹈比賽,為了公平起見,我們要隨機排列他們的出場順序。我們下面利用random包實現:
importrandom
all_people=['Tom','Vivian','Paul','Liya','Manu','Daniel','Shawn']
random.shuffle(all_people)
fori,nameinenumerate(all_people):
print(i,':'+name)
以上內容為大家介紹了Python中的random包,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。