Python隨機數生成方法

2021-08-16 14:54:54 字數 4850 閱讀 5226

1. random.seed(int)

1

2

3

4

5

6

7

8

9

10

random.seed(10)

printrandom.random()#0.57140259469

random.seed(10)

printrandom.random()#0.57140259469  同乙個種子值,產生的隨機數相同

printrandom.random()#0.428889054675

random.seed()#省略引數,意味著取當前系統時間

printrandom.random()

random.seed()

printrandom.random()

2. random.randint(a,b)

1

printrandom.randint(1,10)

3. random.uniform(u,sigma)

1

printrandom.uniform(1,5)

4. random.randrange(start,stop,step)

1

printrandom.randrange(20,100,5)

5. random.random()

1

printrandom.random()

6. 隨機選擇字元

1

printrandom.sample('abcdefghijk',3)

1

printrandom.choice('abcde./;[fgja13ds2d')

1

printstring.join(random.sample('abcdefhjk',4)).replace(" ","")

7.random.shuffle

1

2

3

4

5

6

7

8

9

item=[1,2,3,4,5,6,7]

printitem

random.shuffle(item)

printitem

item2=['1','2','3','5','6','7']

printitem2

random.shuffle(item2)

printitem2

隨機整數:

>>> import random

>>> random.randint(0,99)

21隨機選取0到100間的偶數:

>>> import random

>>> random.randrange(0, 101, 2)

42隨機浮點數:

>>> import random

>>> random.random() 

0.85415370477785668

>>> random.uniform(1, 10)

5.4221167969800881

隨機字元:

>>> import random

>>> random.choice('abcdefg&#%^*f')

'd'多個字元中選取特定數量的字元:

>>> import random

random.sample('abcdefghij',3) 

['a', 'd', 'b']

多個字元中選取特定數量的字元組成新字串:

>>> import random

>>> import string

>>> string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).r

eplace(" ","")

'fih'

洗牌:>>> import random

>>> items = [1, 2, 3, 4, 5, 6]

>>> random.shuffle(items)

>>> items

[3, 2, 5, 6, 4, 1]

二、使用numpy.random模組來生成隨機數組

1、np.random.rand 用於生成[0.0, 1.0)之間的隨機浮點數, 當沒有引數時,返回乙個隨機浮點數,當有乙個引數時,返回該引數長度大小的一維隨機浮點數陣列,引數建議是整數型,因為未來版本的numpy可能不支援非整形引數。

1

import

numpy as np

2 >>> np.random.rand(10)

3 array([ 0.56911206, 0.99777291, 0.18943144, 0.19387287, 0.75090637,

4 0.18692814, 0.69804514, 0.48808425, 0.79440667, 0.66959075])

當然該函式還可以用於生成多維陣列,這裡不做詳述。

2、np.random.randn該函式返回乙個樣本,具有標準正態分佈。

1 >>> np.random.randn(10)

2 array([-1.6765704 , 0.66361856, 0.04029481, 1.19965741, -0.57514593,

3 -0.79603968, 1.52261545, -2.17401814, 0.86671727, -1.17945975])

3、np.random.randint(low[, high, size]) 返回隨機的整數,位於半開區間 [low, high)。

>>> np.random.randint(10,size=10)

array([4, 1, 4, 3, 8, 2, 8, 5, 8, 9])

4、random_integers(low[, high, size]) 返回隨機的整數,位於閉區間 [low, high]。

>>> np.random.random_integers(5)

4

5、np.random.shuffle(x) 類似洗牌,打亂順序;np.random.permutation(x)返回乙個隨機排列

>>> arr = np.arange(10)

>>>np.random.shuffle(arr)

>>>arr

[1 7 5 2 9 4 3 6 0 8]

>>>> np.random.permutation(10)

array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])

Python隨機數生成方法

假設你對在python生成隨機數與random模組中最經常使用的幾個函式的關係與不懂之處。以下的文章就是對python生成隨機數與random模組中最經常使用的幾個函式的關係,希望你會有所收穫,以下就是這篇文章的介紹。random.random 用於生成 用於生成乙個指定範圍內的隨機符點數,兩個引數...

Python隨機數生成方法

假設你對在python生成隨機數與random模組中最經常使用的幾個函式的關係與不懂之處。以下的文章就是對python生成隨機數與random模組中最經常使用的幾個函式的關係,希望你會有所收穫,以下就是這篇文章的介紹。random.random 用於生成 用於生成乙個指定範圍內的隨機符點數,兩個引數...

C 隨機數生成方法

一 c 中不能使用random 函式 c 中常用rand 函式生成隨機數,但嚴格意義上來講生成的只是偽隨機數 pseudo random integral number 生成隨機數時需要我們指定乙個種子,如果在程式內迴圈,那麼下一次生成隨機數時呼叫上一次的結果作為種子。但如果分兩次執行程式,那麼由於...