python random函数sample_Python random.seed() random.sample()函数使用
random.seed(0)作用:使得隨機(jī)數(shù)據(jù)可預(yù)測(cè),即只要seed的值一樣,后續(xù)生成的隨機(jī)數(shù)都一樣。
一、不設(shè)置seed()
import random
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = random.sample(list, 5) # 從list中隨機(jī)獲取5個(gè)元素,作為一個(gè)片段返回
print(a)
print(list, '\n') # 原有序列并沒(méi)有改變
每次執(zhí)行輸出都不同:
# 第一次輸出:
[5, 2, 6, 8, 7]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 第二次輸出:
[9, 7, 4, 3, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 第三次輸出:
[10, 8, 7, 5, 1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
二、設(shè)置相同的seed()值
當(dāng)我們?cè)O(shè)置相同的seed,每次生成的隨機(jī)數(shù)相同。如果不設(shè)置seed,則每次會(huì)生成不同的隨機(jī)數(shù)。
import random
random.seed(1)
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = random.sample(list, 5) # 從list中隨機(jī)獲取5個(gè)元素,作為一個(gè)片段返回
print(a)
print(list, '\n') # 原有序列并沒(méi)有改變
每次輸出都相同:
# 第一次輸出
[3, 2, 5, 1, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 第二次輸出
[3, 2, 5, 1, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 第三次輸出
[3, 2, 5, 1, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
三、設(shè)置不同的seed()值
當(dāng)設(shè)置的seed數(shù)值不同,生成的隨機(jī)數(shù)也不同:
import random
random.seed(2)
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = random.sample(list, 5) #seed的數(shù)值變了,所以生成的隨機(jī)數(shù)也改變,和seed(1)有所不同
print(a)
print(list, '\n') # 原有序列并沒(méi)有改變
每次輸出結(jié)果都相同,但和設(shè)置seed(1)不同:
# 第一次輸出結(jié)果
[1, 2, 9, 3, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 第二次輸出結(jié)果
[1, 2, 9, 3, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 第三次輸出結(jié)果
[1, 2, 9, 3, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
四、結(jié)論
也就是說(shuō),每次想獲得與上次相同的隨機(jī)數(shù),seed后的數(shù)字應(yīng)該相同!
參考:https://blog.csdn.net/qq_31511955/article/details/81949857
總結(jié)
以上是生活随笔為你收集整理的python random函数sample_Python random.seed() random.sample()函数使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ppt怎么加注解文字_向PPT2013演
- 下一篇: 编写java程序的三步骤_帮助Java小