首頁  >  文章  >  後端開發  >  有關Python實現隨機選擇元素功能的詳解

有關Python實現隨機選擇元素功能的詳解

巴扎黑
巴扎黑原創
2017-09-16 10:09:071770瀏覽

這篇文章主要為大家詳細介紹了Python實現隨機選擇元素功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

有關Python實現隨機選擇元素功能的詳解

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

有關Python實現隨機選擇元素功能的詳解

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

有關Python實現隨機選擇元素功能的詳解

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

有關Python實現隨機選擇元素功能的詳解

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

有關Python實現隨機選擇元素功能的詳解

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

有關Python實現隨機選擇元素功能的詳解

請注意:

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()
#用来生成加密安全的随机字节序列

有關Python實現隨機選擇元素功能的詳解

以上是有關Python實現隨機選擇元素功能的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn