![](/img/trans.png)
[英]What is the difference between random.sample and random.shuffle in Python
[英]What is the probability of the generated sequence by random.sample in python being repeated?
我使用以下代碼片段生成隨機字符
char_set = string.ascii_letters + string.digits
Randomno=''.join(random.sample(char_set*10,9))
唯一值的總數應為62 ^ 9(1.3537087e + 16)
符號數^長度。
“用於無需替換的隨機抽樣”,因此我之前的數學不正確,因為字符不能在給定的樣本中重復。
在62 ^ 9次運行后匹配任何序列的機會是100%,匹配特定序列的機會傾向於,但是隨着運行次數的增加,從未達到100%,因為您永遠無法保證獲得任何特定序列。
從評論中添加我的想法:
隨機使用marsenne twister: http : //en.wikipedia.org/wiki/Mersenne_Twister ,根據其維基頁面非常強大。 http://docs.python.org/3.1/library/random.html根據文檔隨機不應該用於加密目的。 這是有道理的,因為MT是完全確定的並且給出初始參數並且看到可以再現相同的序列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.