如果要從序列中隨機挑選元素,我們可以使用random模塊的random.choice()方法:

如果想要取出N個元素,將選出的元素一處以做進一步的考察,可以使用random.sample()方法:

如果我們只是想要打亂序列的順序(洗牌),可以使用random.shuffle():

要產生隨機數,可以使用random.randint()方法:

如果要產生0-1之間均勻分布的浮點數值,可以使用random.random()方法:

如果要得到N各隨機比特位所表示的整數,可以使用random.getrandbits()方法:

請注意:
random模塊使用 馬特賽特旋轉演算法(Mersenne Twister,也稱作梅森旋轉算法)來計算隨機數,這是一個確定性算法,但是可以通多random.seed()函數來修改出事的種子值
random.seed()#基于系統時間或者是os.urandom()函數random.seed(6666)#基于給定整數random.seed(b'bytes') #基于給定的字節數據
random模塊除了隨機數的應用之外還可以用來計算均勻分布、高斯分布和其他概率分布
random.uniform#計算均勻分布random.gauss()#計算高斯分布(正態分布)
注意:請不要將random模塊用在和加密相關的程序中,如果有這樣的應用需求,請考慮使用ssl模塊中的函數來進行替代,例如:
ssl.RAND_bytes()#用來生成加密安全的隨機字節序列

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答