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è)試通過, python2版本可稍加修改
描述
random() 方法返回隨機(jī)生成的一個(gè)實(shí)數(shù),它在(0,1)范圍內(nèi)。
語法
以下是 random() 方法的語法:
import random
random.random()
注意:random()是不能直接訪問的,需要導(dǎo)入 random 模塊,然后通過 random 靜態(tài)對(duì)象調(diào)用該方法。
參數(shù)
無
返回值
返回隨機(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è)有序類型。
這里要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。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 保存float類型的小數(shù)的位數(shù)方法
今天小編就為大家分享一篇python 保存float類型的小數(shù)的位數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Pandas常用的數(shù)據(jù)結(jié)構(gòu)和常用的數(shù)據(jù)分析技術(shù)
Pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫,其最常用的數(shù)據(jù)結(jié)構(gòu)是Series和DataFrame。Series類似于一維數(shù)組,可以表示一列數(shù)據(jù);DataFrame類似于二維表格,可以表示多列數(shù)據(jù)2023-04-04TensorFlow實(shí)現(xiàn)AutoEncoder自編碼器
這篇文章主要為大家詳細(xì)介紹了TensorFlow實(shí)現(xiàn)AutoEncoder自編碼器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03基于Python實(shí)現(xiàn)最新房?jī)r(jià)信息的獲取
這篇文章主要為大家介紹了如何利用Python獲取房?jī)r(jià)信息(以北京為例),整個(gè)數(shù)據(jù)獲取的信息是通過房源平臺(tái)獲取的,通過下載網(wǎng)頁元素并進(jìn)行數(shù)據(jù)提取分析完成整個(gè)過程,需要的可以參考一下2022-04-04python如何獲取apk的packagename和activity
這篇文章主要介紹了python如何獲取apk的packagename和activity,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Python使用PyPDF2庫實(shí)現(xiàn)向PDF文件中插入內(nèi)容
Python的PyPDF2庫是一個(gè)強(qiáng)大的工具,它允許我們方便地操作PDF文件,包括合并、拆分、旋轉(zhuǎn)頁面等操作,下面我們就來看看如何使用PyPDF2庫實(shí)現(xiàn)向PDF文件中插入內(nèi)容吧2024-04-04解決python訪問報(bào)錯(cuò):jinja2.exceptions.TemplateNotFound:index.html
這篇文章主要介紹了解決python訪問報(bào)錯(cuò):jinja2.exceptions.TemplateNotFound:index.html,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12python 矢量數(shù)據(jù)轉(zhuǎn)柵格數(shù)據(jù)代碼實(shí)例
這篇文章主要介紹了python 矢量數(shù)據(jù)轉(zhuǎn)柵格數(shù)據(jù)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09