python 隨機函式總結

2021-10-03 15:46:50 字數 2824 閱讀 3805

使用時需要import random。

random.random()用於生成乙個0到1的隨機符點數: 0 <= n < 1.0

random.uniform(a, b),用於生成乙個指定範圍內的隨機符點數,兩個引數其中乙個是上限,乙個是下限。

random.randint(a, b),用於生成乙個指定範圍內的整數。其中引數a是下限,引數b是上限。

random.randrange([start], stop[, step]),從指定範圍內,按指定基數遞增的集合中 獲取乙個隨機數。如:random.randrange(10, 100, 2),結果相當於從[10, 12, 14, 16, ... 96, 98]序列中獲取乙個隨機數。random.randrange(10, 100, 2)在結果上與 random.choice(range(10, 100, 2) 等效。

random.choice(sequence)。引數sequence表示乙個有序型別。這裡要說明一下:sequence在python不是一種特定的型別,而是泛指一系列的型別。list, tuple, 字串都屬於sequence。

random.shuffle(x[, random]),用於將乙個列表中的元素打亂。

random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。sample函式不會修改原有序列。不會重複選取。

numpy的陣列不能用上面的隨機函式,numpy也有自己的隨機函式:

1.numpy.random.rand(d0,d1,…,dn)rand函式根據給定維度生成[0,1)之間的資料,dn表示每個維度,返回值為指定維度的array

2.numpy.random.randn(d0,d1,…,dn)返回乙個具有標準正態分佈的陣列。

3.np.random.randint(low,hihg,size)生成乙個[low,high)的陣列,陣列形狀為size。

4.np.random.random_integers(low,hihg,size)生成乙個[low,high]的陣列,陣列形狀為size。不過不贊成使用次用法,建議使用np.random.randint(low,hihg,size+1)

5.numpy.random.random((d0,d1,…,dn))函式根據給定維度生成[0,1)之間的資料,dn表示每個維度,返回值為指定維度的array,random函式的功能和前面的rand一模一樣,不過多了個括號。。。

6.random_sample((d0,d1,…,dn))用法與numpy.random.random((d0,d1,…,dn)) 一樣。

7.np.random.choice(a, size=none, replace=true, p=none)對一維陣列a取樣,可重複取樣

8.np.random.permutation(x)將陣列打亂,多維陣列按第一維度打亂。返回打亂後的陣列,不會改變x。

9.np.random.random_sample(x)將陣列x按第乙個維度打亂,原地打亂,沒有返回值。

如果不使用隨機種子,那麼每一次隨機的值都是不一樣的,當我們的程式希望生成的隨機數能夠復現的時候,就可以設定 seed()函式,因為他生成的隨機數是固定的。如果是numpy的隨機種子,那就是np.random.seed()

np.random.seed(10)

b = np.random.randint(1,4,(3,4))

print(b)

c = np.random.randint(1,4,(3,4))

print(c)

當不使用np.random.seed(10)時,b和c每一次的輸出結果都是隨機的。使用隨機種子後,上面程式不管執行多少次,結果都是一樣的,不過b和c的值不一樣,如果我們想讓b和c的值也一樣,可以在給c賦值前重行執行一下相同的隨機種子,這樣b和c的值相同。

np.random.seed(10)

b = np.random.randint(1,4,(3,4))

print(b)

np.random.seed(10)

c = np.random.randint(1,4,(3,4))

print(c)

Python隨機函式

生成n個隨機數 list 1,2,3,4,5,6,7,8,9,10 slice random.sample list,5 從list中隨機獲取5個元素,作為乙個片斷返回 printslice printlist 原有序列並沒有改變。隨機整數 import random random.randint ...

python 隨機函式

運用random 方法的語法 import random random 方法不能直接訪問,需要匯入random模組,然後通過random靜態物件呼叫該方法 random.random 方法用於生成乙個0到1的隨機浮點數 0 n 1.0 import random print random rando...

python 隨機函式

輸入框字元限制測試 登入密碼字元限制測試 批量使用者或批量文案隨機字串應用 import random import string print join random.sample string.ascii letters string.digits,8 import random import s...