溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python生產(chǎn)隨機(jī)數(shù)字的方法

發(fā)布時(shí)間:2020-07-09 11:17:28 來(lái)源:億速云 閱讀:249 作者:清晨 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)python生產(chǎn)隨機(jī)數(shù)字的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

python生產(chǎn)隨機(jī)數(shù)字的方法是:1、利用random庫(kù)的randint函數(shù)生成隨機(jī)整數(shù)、uniform函數(shù)隨機(jī)生成浮點(diǎn)數(shù)等;2、利用第三方庫(kù)numpy中randn函數(shù)生成符合正態(tài)分布的隨機(jī)矩陣。

python生產(chǎn)隨機(jī)數(shù)字的方法

在Python中可以用于隨機(jī)數(shù)生成的有兩種主要途徑,一是random模塊,另一個(gè)是numpy庫(kù)中random函數(shù)。

OUTLINE

  • random模塊

  • numpy中的random函數(shù)

  • 總結(jié)

random模塊

random模塊中將近有7個(gè)函數(shù)都是可以用來(lái)生成隨機(jī)數(shù)的:

① random.random()
功能:隨機(jī)生成一個(gè) [0,1) 的浮點(diǎn)數(shù)
用法

import random
number = random.random()
# 輸出:0.7178886135325596

② random.uniform(a,b)
功能:隨機(jī)生成一個(gè) [a,b) 的浮點(diǎn)數(shù)
用法

number = random.uniform(2,4)
# 輸出:2.070517705689751

③ random.randint(a,b)
功能:隨機(jī)生成一個(gè) [a,b] 的整數(shù)
用法

number = random.randint(2,4)
# 輸出:3

④ random.randrange(a,b,step)
功能:在生成的<以a為始,每step遞增,以b為終>這樣的一個(gè)整數(shù)序列中隨機(jī)選擇一個(gè)數(shù)
用法:

number = random.randrange(2,10,2)
# 輸出:2

⑤ random.choice(sequence)
功能:從一個(gè)已有的sequence中隨機(jī)選擇一個(gè)元素
用法:

number = random.choice(range(2,10))
# 輸出:6
number = random.choice('anbegvdje')
# 輸出:g

⑥ random.sample(sequence,k)
功能:從某一序列中獲取指定長(zhǎng)度的片段
用法:

a = ['香蕉','蘋(píng)果','橘子','眼影','眼線']
b = random.sample(a,2)# 輸出:['橘子', '蘋(píng)果']

⑦ random.shuffle(列表)
功能:打亂一個(gè)列表的元素順序
用法:

a = ['香蕉','蘋(píng)果','橘子','眼影','眼線']
random.shuffle(a) # 打亂這個(gè)操作不需要重新定義對(duì)象,它作用的是對(duì)象本身
# 輸出:['眼線', '蘋(píng)果', '眼影', '橘子', '香蕉']

numpy中的random函數(shù)

numpy中的random函數(shù)可以調(diào)用的方法主要有兩種,一種是生成隨機(jī)浮點(diǎn)數(shù),二是生成隨機(jī)整數(shù)。

① np.random.randn(a,b)
功能:生成a*b維的隨機(jī)數(shù),且該數(shù)服從標(biāo)準(zhǔn)正太分布
用法:

data = np.random.randn(5,4)
# 輸出:
array([[-1.6101468 , -0.81103612,  0.44875047,  0.55987574],
       [-0.33322916,  0.18676658, -0.18424432, -0.84435811],
       [ 0.57654276,  0.28830858, -0.73403656,  1.59404864],
       [ 0.39009202,  0.86239796,  0.66290243, -0.61292579],
       [ 0.03081516,  0.99335315, -0.6875357 ,  0.90552971]])

② random.randint(low,high,size)
功能:生成一個(gè)<以low為下限,high為上限,size大小>的隨機(jī)整數(shù)矩陣,其中數(shù)值范圍包含low,不包含high
用法:

data = np.random.randint(low=2,high=5,size=(5,7))
# 輸出:
array([[4, 2, 4, 4, 4, 4, 2],
       [4, 2, 2, 4, 3, 3, 3],
       [3, 4, 3, 4, 3, 3, 4],
       [3, 4, 2, 3, 3, 2, 2],
       [3, 3, 3, 3, 2, 3, 2]])


1、在我們?nèi)粘J褂弥?,如果是為了得到隨機(jī)的單個(gè)數(shù),多考慮random模塊;如果是為了得到隨機(jī)小數(shù)或者整數(shù)的矩陣,就多考慮numpy中的random函數(shù);

2、對(duì)于random模塊的函數(shù)調(diào)用方法的記憶,可以多從它本身的英譯出發(fā),并多比較其不同從而加深理解~

關(guān)于python生產(chǎn)隨機(jī)數(shù)字的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI