Python隨機(jī)函數(shù)random隨機(jī)獲取數(shù)字、字符串、列表等使用詳解
在python中用于生成隨機(jī)數(shù)的模塊是random,在使用前需要import, 下面看下它的用法。
Python隨機(jī)生成一個(gè)浮點(diǎn)數(shù) random.random
random.random()用于生成一個(gè)0到1的隨機(jī)符點(diǎn)數(shù): 0 <= n < 1.0
注意: 以下代碼在Python3.5下測(cè)試通過(guò), python2版本可稍加修改
描述
random() 方法返回隨機(jī)生成的一個(gè)實(shí)數(shù),它在(0,1)范圍內(nèi)。
語(yǔ)法
以下是 random() 方法的語(yǔ)法:
import random
random.random()
注意:random()是不能直接訪問(wèn)的,需要導(dǎo)入 random 模塊,然后通過(guò) random 靜態(tài)對(duì)象調(diào)用該方法。
參數(shù)
無(wú)
返回值
返回隨機(jī)生成的一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)。
實(shí)例
以下展示了使用 random() 方法的實(shí)例:
>>> import random
>>> print ("random 1 : ", random.random())
random 1 : 0.8325656436327418
>>> print ("random 2 : ", random.random())
random 2 : 0.9205070325517919
以上實(shí)例運(yùn)行后輸出結(jié)果為:
random 1 : 0.8325656436327418
random 2 : 0.9205070325517919
Python隨機(jī)生成一個(gè)指定精度的浮點(diǎn)數(shù) random.uniform
random.uniform的函數(shù)原型為:random.uniform(a, b),用于生成一個(gè)指定范圍內(nèi)的隨機(jī)符點(diǎn)數(shù),兩個(gè)參數(shù)其中一個(gè)是上限,一個(gè)是下限。如果a > b,則生成的隨機(jī)數(shù)n: b <= n <= a。如果 a <b, 則 a <= n <= b。
>>> import random >>> print (random.uniform(1, 10)) 2.444412473072692 >>> print (random.uniform(10, 1)) 4.617930290730046
結(jié)果:
2.444412473072692
4.617930290730046
Python隨機(jī)生成一個(gè)實(shí)數(shù) random.randint
random.randint()的函數(shù)原型為:random.randint(a, b),用于生成一個(gè)指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機(jī)數(shù)n: a <= n <= b,
注意: 下限必須小于上限
>>> import random >>> print (random.randint(11, 20)) #生成的隨機(jī)數(shù)n: 12 <= n <= 20 13 >>> print (random.randint(20, 20)) #結(jié)果永遠(yuǎn)是20 20
結(jié)果:
13
20
Python獲取指定范圍內(nèi)隨機(jī)數(shù) random.randrange
randrange() 方法返回指定遞增基數(shù)集合中的一個(gè)隨機(jī)數(shù),基數(shù)默認(rèn)值為1。
random.randrange的函數(shù)原型為:random.randrange([start], stop[, step]),從指定范圍內(nèi),按指定基數(shù)遞增的集合中 獲取一個(gè)隨機(jī)數(shù)。
如:random.randrange(10, 100, 2),結(jié)果相當(dāng)于從[10, 12, 14, 16, ... 96, 98]序列中獲取一個(gè)隨機(jī)數(shù)。
random.randrange(10, 100, 2)在結(jié)果上與 random.choice(range(10, 100, 2) 等效。
>>> import random >>> print (random.randrange(10, 18, 2)) 16
結(jié)果:
16
Python隨機(jī)獲取列表,元組或字符串中的子元素 random.choice
random.choice從序列中獲取一個(gè)隨機(jī)元素。
其函數(shù)原型為:random.choice(sequence)。參數(shù)sequence表示一個(gè)有序類(lèi)型。
這里要說(shuō)明 一下:sequence在python不是一種特定的類(lèi)型,而是泛指一系列的類(lèi)型。list, tuple, 字符串都屬于sequence。有關(guān)sequence可以查看python手冊(cè)數(shù)據(jù)模型這一章
>>> import random
>>> print (random.choice("jb51.net"))
t
>>> print (random.choice(["jb", "51", "net"]))
jb
>>> print (random.choice(("jb", "51", "net")))
51
結(jié)果:
t
jb
51
Python列表隨機(jī)排序 random.shuffle
random.shuffle的函數(shù)原型為:random.shuffle(x[, random]),用于將一個(gè)列表中的元素打亂。如:
>>> import random >>> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> random.shuffle(list) >>> print (list) [7, 2, 8, 5, 3, 10, 1, 9, 6, 4]
結(jié)果:
[7, 2, 8, 5, 3, 10, 1, 9, 6, 4]
Python隨機(jī)獲取列表中指定數(shù)量項(xiàng)目random.sample
random.sample的函數(shù)原型為:random.sample(sequence, k),從指定序列中隨機(jī)獲取指定長(zhǎng)度的片斷。
sample函數(shù)不會(huì)修改原有序列。
>>> import random >>> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> slice = random.sample(list, 5) #從list中隨機(jī)獲取5個(gè)元素,作為一個(gè)片斷返回 >>> print (slice) [1, 5, 9, 3, 2] >>> print (list) #原有序列不會(huì)改變。 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
結(jié)果:
[1, 5, 9, 3, 2]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
本文主要講解的Python隨機(jī)函數(shù)random使用方法包含了Python隨機(jī)數(shù)字,Python隨機(jī)字符串,Python隨機(jī)列表等,更多關(guān)于Python隨機(jī)函數(shù)random的使用請(qǐng)點(diǎn)擊下面的相關(guān)鏈接
相關(guān)文章
Python 二進(jìn)制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring)
本文主要介紹了Python 二進(jìn)制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python中的collections集合與typing數(shù)據(jù)類(lèi)型模塊
這篇文章介紹了Python中的collections集合與typing數(shù)據(jù)類(lèi)型模塊,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
Python中sorted()排序與字母大小寫(xiě)的問(wèn)題
這篇文章主要介紹了Python中sorted()排序與字母大小寫(xiě)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
Python爬蟲(chóng)模擬登錄帶驗(yàn)證碼網(wǎng)站
這篇文章主要介紹了Python爬蟲(chóng)模擬登錄帶驗(yàn)證碼網(wǎng)站的相關(guān)資料,需要的朋友可以參考下2016-01-01
基于python的socket實(shí)現(xiàn)單機(jī)五子棋到雙人對(duì)戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了基于python的socket實(shí)現(xiàn)單機(jī)五子棋到雙人對(duì)戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
使用python的pyplot繪制函數(shù)實(shí)例
今天小編就為大家分享一篇使用python的pyplot繪制函數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
Python爬蟲(chóng)實(shí)戰(zhàn):分析《戰(zhàn)狼2》豆瓣影評(píng)
這篇文章主要介紹了Python爬蟲(chóng)實(shí)戰(zhàn):《戰(zhàn)狼2》豆瓣影評(píng)分析,小編在這里使用的是python版本3.5,需要的朋友可以參考下2018-03-03
1 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器
FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來(lái)搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡(jiǎn)單的方法即可實(shí)現(xiàn)FTP服務(wù)器的功能。下面小編給大家?guī)?lái)了1 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器,需要的朋友參考下2018-01-01
python實(shí)現(xiàn)幾種歸一化方法(Normalization Method)
這篇文章主要介紹了python實(shí)現(xiàn)幾種歸一化方法(Normalization Method),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
windows+vscode安裝paddleOCR運(yùn)行環(huán)境的步驟
這篇文章主要介紹了windows+vscode安裝paddleOCR運(yùn)行環(huán)境,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11

