random模組通常用於生成隨機數,其中幾個常用函式比較重要,需要我們牢記。
一、random.random
該函式用於生成0—1之間的隨機數。
print random.random()
#顯示結果為0.934417199201
print random.random()
#顯示結果為0.964504501517
二、random.randint(a, b)
該函式用於生成區間[a,b]中的隨機數n,a<=n<=b。a可以等於b,但不能大於b。
print random.randint(1,20)
#顯示結果為17
print random.randint(1,1)
#永遠顯示結果為1
print random.randint(20,20)
#永遠顯示結果為20
print random.randint(20,1)
#報錯
三、random.uniform(a,b)
該函式可與第二個函式進行對比,它生成的是區間內的隨機浮點數。但對a、b的限制有些許不同。先來看乙個例子。
print random.uniform(20,1)
#生成2.39971793852
如果a>b,則在(b,a)區間內生成隨機數。無論輸入的a、b大小如何,它都能調整到乙個正確的區間,並從中隨機生成乙個浮點數。
print random.uniform(1,20)
#顯示結果為5.12122533938
print random.uniform(1,1)
#顯示結果為1.0
print random.uniform(20,20)
#顯示結果為20.0
四、random.choice(sequence)
該函式可從sequence中獲取乙個隨機元素。需要注意的是sequence並非指特定型別,而是泛指一系列型別,可以是list、tuple,也可以是字串。
print random.choice([1,2,3,4,5,6,7,8,9,10])
#顯示結果為6
print random.choice((1,2,3,4,5,6))
#顯示結果為3
print random.choice("123456789")
#顯示結果為6
五、random.randrange([start], stop, [step])
該函式是在區間([start], stop)內(若沒有start則預設為0),按[step]遞增的集合中(若沒有step則預設為1)選取乙個隨機數。
print random.randrange(3,12,4)
#顯示結果為7
#相當於在[3,7,11]中選取乙個隨機數
六、random.sample(sequence,k)
該函式可以從指定序列sequence中隨機獲取長度為k的片段。
print random.sample([1,2,4,6,7,80],3)
#顯示結果為[1,80,6]
#顯然是從中隨機選取3個元素重新組成片段。
七、random.seed([x])
該函式的返回值為none。它可以讓生成的隨機數不隨機。
random.seed(3)
print random.random()
#顯示結果為0.237964627092
random.seed(3)
print random.random()
#顯示結果為0.237964627092
當在呼叫其它生成隨機數的函式之前,使用相同的seed,可以獲得完全相同的隨機數。
八、random.shuffle()
該函式可以將列表中的元素打亂
p = [1,2,3,4]
random.shuffle(p)
print p
#顯示結果為[3,1,4,2]
。
python中numpy的random模組
numpy.random 1.rand d0,d1,dn 產生 0,1 的浮點隨機數,括號裡面的引數可以指定產生陣列的形狀 例如 np.random.rand 3,2 則產生 3 2的陣列,裡面的數是0 1的浮點隨機數 2.randn d0,d1,dn 產生標準正太分布隨機數,引數含義與rand相同...
python中生成隨機整數(random模組)
原文 1 從乙個序列中隨機選取乙個元素返回 random.choice sep 2 用於將乙個列表中的元素打亂 random.shuffle sep 3 在sep列表中隨機選取k個元素返回 random.sample seq,k 4 隨機返回a到b之間的乙個整數 random.randint a,b...
Python中的random模組
python中的random模組用於生成隨機數。下面介紹一下random模組中最常用的幾個函式。random.random 用於生成乙個0到1的隨機符點數 0 n 1.0 random.uniform的函式原型為 random.uniform a,b 用於生成乙個指定範圍內的隨機符點數,兩個引數其中...