最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中random函數(shù)的用法整理大全

 更新時間:2022年08月30日 09:17:54   作者:西瓜芒果氣泡水  
random庫是使用隨機(jī)數(shù)的Python標(biāo)準(zhǔn)庫,random庫主要用于生成隨機(jī)數(shù),下面這篇文章主要給大家介紹了關(guān)于Python?random函數(shù)用法的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

首先我們需要導(dǎo)入random模塊 

1. random.random(): 返回隨機(jī)生成的一個浮點(diǎn)數(shù),范圍在[0,1)之間

import random
print(random.random())

2. random.uniform(a, b): 返回隨機(jī)生成的一個浮點(diǎn)數(shù),范圍在[a, b)之間

import random
print(random.uniform(1,5))

3. random.randint(a,b)生成指定范圍內(nèi)的整數(shù) 

import random
print(random.randint(1,10))

4. random.randrange([start],stop[,step]):用于從指定范圍內(nèi)按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù)。 

例如random.randrange(10,100,2),結(jié)果相當(dāng)于從 [10,12,14,16...96,98] 序列中獲取一個隨機(jī)數(shù)。random.randrange (10,100,2) 的結(jié)果上與 random.choice(range(10,100,2)) 等效。

import random
print(random.randrange(10,22,3))

5. random.choice():從指定的序列中獲取一個隨機(jī)元素

random.choice()從序列中獲取一個隨機(jī)元素,其原型為random.choice(sequence),參數(shù)sequence表示一個有序類型。這里說明一下,sequence在Python中不是一種特定的類型,而是泛指序列數(shù)據(jù)結(jié)構(gòu)列表,元組,字符串都屬于sequence。

import random
print(random.choice('學(xué)習(xí)python'))   # 從字符串中隨機(jī)取一個字符
print(random.choice(['good', 'hello', 'is', 'hi', 'boy']))   # 從list列表中隨機(jī)取
print(random.choice(('str', 'tuple', 'list')))   # 從tuple元組中隨機(jī)取

6. random.shuffle(x[,random]):用于將一個列表中的元素打亂,隨機(jī)排序

import random
p=['hehe','xixi','heihei','haha','zhizhi','lala','momo..da']
random.shuffle(p)
print(p)
x = [1, 2, 3, 4, 5]
random.shuffle(x)
print(x)

7. random.sample(sequence,k):用于從指定序列中隨機(jī)獲取指定長度的片段,sample()函數(shù)不會修改原有序列。

import random
list1=[1,2,3,4,5,6,7,8,9,10]
slice=random.sample(list1,5)
print(slice)
#[8, 3, 5, 9, 10]
print(list1)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
x = random.sample(range(0, 10), 5)
print(x, type(x))
#[9, 2, 7, 8, 6] <class 'list'>
Words = "AppleKMedoide"
print(random.sample(Words, 3))
#['p', 'M', 'A']
print(random.sample(Words, 3))
#['d', 'i', 'l']

下面的函數(shù)需要調(diào)用numpy庫 

8. np.random.rand(d0, d1, …, dn): 返回一個或一組浮點(diǎn)數(shù),范圍在[0, 1)之間

import random
import numpy as np
x = np.random.rand()
y = np.random.rand(4)
print(x,type(x))
#0.09842641570445387 <class 'float'>
print(y,type(y))
#[0.27298291 0.12350038 0.63977128 0.90791234] <class 'numpy.ndarray'>

9. np.random.normal(loc=a, scale=b, size=()): 返回滿足條件為均值=a, 標(biāo)準(zhǔn)差=b的正態(tài)分布(高斯分布)的概率密度隨機(jī)數(shù)

np.random.normal(loc=a, scale=b, size=()) - 返回滿足條件為均值=a, 標(biāo)準(zhǔn)差=b的正態(tài)分布(高斯分布)的概率密度隨機(jī)數(shù),size默認(rèn)為None(返回1個隨機(jī)數(shù)),也可以為int或數(shù)組

import random
import numpy as np
x = np.random.normal(10,0.2,2)
print(x,type(x))
#[9.78391585 9.83981096] <class 'numpy.ndarray'>
y = np.random.normal(10,0.2)
print(y,type(y))
#9.871187751372984 <class 'float'>
z = np.random.normal(0,0.1,(2,3))
print(z,type(z))
#[[-0.07114831 -0.10258022 -0.12686863]
# [-0.08988384 -0.00647591  0.06990716]] <class 'numpy.ndarray'>
z = np.random.normal(0,0.1,[2,2])
print(z,type(z))
#[[ 0.07178268 -0.00226728]
# [ 0.06585013 -0.04385656]] <class 'numpy.ndarray'>

10 np.random.randn(d0, d1, … dn): 返回標(biāo)準(zhǔn)正態(tài)分布(均值=0,標(biāo)準(zhǔn)差=1)的概率密度隨機(jī)數(shù)

np.random.randn(d0, d1, ... dn): 返回標(biāo)準(zhǔn)正態(tài)分布(均值=0,標(biāo)準(zhǔn)差=1)的概率密度隨機(jī)數(shù),

import random
import numpy as np
x = np.random.randn()
y = np.random.randn(3)
z = np.random.randn(3, 3)
print(x, type(x))
print(y, type(y))
print(z, type(z))

11. np.random.standard_normal(size=()): 返回標(biāo)準(zhǔn)正態(tài)分布(均值=0,標(biāo)準(zhǔn)差=1)的概率密度隨機(jī)數(shù)

np.random.standard_normal(): 返回標(biāo)準(zhǔn)正態(tài)分布(均值=0,標(biāo)準(zhǔn)差=1)的概率密度隨機(jī)數(shù), size默認(rèn)為None(返回1個隨機(jī)數(shù)),也可以為int或數(shù)組

import random
import numpy as np
x = np.random.standard_normal()
y = np.random.standard_normal(size=(3,3))
print(x, type(x))
print(y, type(y))

np.random.rand()與np.random.standard_normal()的方法結(jié)果相似,都是返回合符標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)浮點(diǎn)數(shù)或數(shù)組。

12. np.random.randint(a, b, size=(), dtype=int): 返回在范圍在[a, b)中的隨機(jī)整數(shù)(含有重復(fù)值)

np.random.randint(a, b, sizie=(), dytpe=int) - size默認(rèn)為None(返回1個隨機(jī)數(shù)),也可以為int或數(shù)組

import random
import numpy as np
# 從序列[0, 10)之間返回shape=(5,5)的10個隨機(jī)整數(shù)(包含重復(fù)值)
x = np.random.randint(0, 10, size=(5, 5))
# 從序列[15, 20)之間返回1個隨機(jī)整數(shù)(size默認(rèn)為None, 則返回1個隨機(jī)整數(shù))
y = np.random.randint(15, 20)
print(x, type(x))
print(y, type(y))

13. random.seed(): 設(shè)定隨機(jī)種子

在設(shè)定隨機(jī)種子為10之后,random.random()的隨機(jī)數(shù)將被直接設(shè)定為:0.5714025946899135

import random
random.seed(10)
x = random.random()
print(x,type(x))
random.seed(10)
y = random.random()
print(y,type(y))
z = random.random()
print(z,type(z))

random隨機(jī)數(shù)是這樣生成的:我們將這套復(fù)雜的算法(是叫隨機(jī)數(shù)生成器吧)看成一個黑盒,把我們準(zhǔn)備好的種子扔進(jìn)去,它會返給你兩個東西,一個是你想要的隨機(jī)數(shù),另一個是保證能生成下一個隨機(jī)數(shù)的新的種子,把新的種子放進(jìn)黑盒,又得到一個新的隨機(jī)數(shù)和一個新的種子,從此在生成隨機(jī)數(shù)的路上越走越遠(yuǎn)。

我們利用如下代碼進(jìn)行測試:

import numpy as np
if __name__ == '__main__':
    i = 0
    while i < 6:
        if i < 3:
            np.random.seed(0)
            print(np.random.randn(1, 5))
        else:
            print(np.random.randn(1, 5))
        i += 1
    i = 0
    while i < 2:
        print(np.random.randn(1, 5))
        i += 1
    print(np.random.randn(2, 5))
    np.random.seed(0)
    print("###################################")
    i = 0
    while i < 8:
        print(np.random.randn(1,5))
        i += 1

通過該實驗我們可以得到以下結(jié)論:

  • 兩次利用隨機(jī)數(shù)種子后,即便是跳出循環(huán)后,生成隨機(jī)數(shù)的結(jié)果依然是相同的。第一次跳出while循環(huán)后,進(jìn)入第二個while循環(huán),得到的兩個隨機(jī)數(shù)組確實和加了隨機(jī)數(shù)種子不一樣。但是,后面的加了隨機(jī)數(shù)種子的,八次循環(huán)中的結(jié)果和前面的結(jié)果是一樣的。說明,隨機(jī)數(shù)種子對后面的結(jié)果一直有影響。同時,加了隨機(jī)數(shù)種子以后,后面的隨機(jī)數(shù)組都是按一定的順序生成的。
  • 在同樣的隨機(jī)種子后第六次的隨機(jī)數(shù)生成結(jié)果,兩行五列的數(shù)組和兩個一行五列的數(shù)組結(jié)果相同。說明,在生成多行隨機(jī)數(shù)組時,是由單行隨機(jī)數(shù)組組合而成的。
  • 利用隨機(jī)數(shù)種子,每次生成的隨機(jī)數(shù)相同,就是使后面的隨機(jī)數(shù)按一定的順序生成。當(dāng)隨機(jī)數(shù)種子參數(shù)為0和1時,生成的隨機(jī)數(shù)和我上面高亮的結(jié)果相同。說明該參數(shù)指定了一個隨機(jī)數(shù)生成的起始位置。每個參數(shù)對應(yīng)一個位置。并且在該參數(shù)確定后,其后面的隨機(jī)數(shù)的生成順序也就確定了。
  • 隨機(jī)數(shù)種子的參數(shù)怎么選擇?我認(rèn)為隨意,這個參數(shù)只是確定一下隨機(jī)數(shù)的起始位置。

本文綜合參考了如下文章整理: 

總結(jié)

到此這篇關(guān)于Python中random函數(shù)用法的文章就介紹到這了,更多相關(guān)Python random函數(shù)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 偷懶技巧——使用 keyboard 錄制鍵盤事件

    python 偷懶技巧——使用 keyboard 錄制鍵盤事件

    這篇文章主要介紹了python如何使用 keyboard 錄制鍵盤事件,幫助大家提高工作效率,感興趣的朋友可以了解下
    2020-09-09
  • Python基礎(chǔ)教程之pip的安裝和卸載

    Python基礎(chǔ)教程之pip的安裝和卸載

    pip是一種工具,可以幫助用戶安裝卸載一些需要的安裝包,非常的簡單實用,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之pip的安裝和卸載的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • pycharm 如何跳出服務(wù)器證書不受信任的提示

    pycharm 如何跳出服務(wù)器證書不受信任的提示

    這篇文章主要介紹了pycharm 跳出服務(wù)器證書不受信任的提示操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python中super函數(shù)用法實例分析

    Python中super函數(shù)用法實例分析

    這篇文章主要介紹了Python中super函數(shù)用法,結(jié)合實例形式詳細(xì)分析了Python中super函數(shù)的功能、調(diào)用父類相關(guān)原理、操作技巧與注意事項,需要的朋友可以參考下
    2019-03-03
  • 使用python接受tgam的腦波數(shù)據(jù)實例

    使用python接受tgam的腦波數(shù)據(jù)實例

    這篇文章主要介紹了使用python接受tgam的腦波數(shù)據(jù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 使用TensorBoard進(jìn)行超參數(shù)優(yōu)化的實現(xiàn)

    使用TensorBoard進(jìn)行超參數(shù)優(yōu)化的實現(xiàn)

    這篇文章主要介紹了使用TensorBoard進(jìn)行超參數(shù)優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • tensorflow2.0保存和恢復(fù)模型3種方法

    tensorflow2.0保存和恢復(fù)模型3種方法

    今天小編就為大家分享一篇tensorflow2.0保存和恢復(fù)模型3種方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python GUI庫PyQt5樣式QSS子控件介紹

    Python GUI庫PyQt5樣式QSS子控件介紹

    這篇文章主要介紹了Python GUI庫PyQt5樣式QSS子控件介紹,需要的朋友可以參考下
    2020-02-02
  • Python中itertools的用法詳解

    Python中itertools的用法詳解

    循環(huán)器(iterator)是對象的容器,包含有多個對象。這篇文章主要介紹了python itertools用法,需要的朋友可以參考下
    2020-02-02
  • 使用Python操作MySQL的一些基本方法

    使用Python操作MySQL的一些基本方法

    這篇文章主要介紹了使用Python操作MySQL的一些基本方法,Python+MySQL也是服務(wù)器端快速開發(fā)的一種絕佳搭配方案,需要的朋友可以參考下
    2015-08-08

最新評論

连城县| 泗阳县| 福海县| 怀来县| 平邑县| 崇仁县| 沾益县| 福建省| 兰州市| 陇川县| 武强县| 丽水市| 文登市| 东兴市| 黄龙县| 临城县| 吉安县| 镇坪县| 台北县| 读书| 鄂托克前旗| 牙克石市| 安溪县| 穆棱市| 绍兴县| 大洼县| 会宁县| 嘉义市| 许昌市| 德惠市| 海南省| 维西| 怀化市| 岳普湖县| 江川县| 苍南县| 秭归县| 广南县| 廊坊市| 大余县| 永修县|