Python隨機(jī)函數(shù)random隨機(jī)獲取數(shù)字、字符串、列表等使用詳解
在python中用于生成隨機(jī)數(shù)的模塊是random,在使用前需要import, 下面看下它的用法。
Python隨機(jī)生成一個浮點(diǎn)數(shù) random.randomrandom.random()用于生成一個0到1的隨機(jī)符點(diǎn)數(shù): 0 <= n < 1.0
注意: 以下代碼在Python3.5下測試通過, python2版本可稍加修改
描述
random() 方法返回隨機(jī)生成的一個實(shí)數(shù),它在(0,1)范圍內(nèi)。
語法
以下是 random() 方法的語法:
import random
random.random()
注意:random()是不能直接訪問的,需要導(dǎo)入 random 模塊,然后通過 random 靜態(tài)對象調(diào)用該方法。
參數(shù)
無
返回值
返回隨機(jī)生成的一個實(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ī)生成一個指定精度的浮點(diǎn)數(shù) random.uniformrandom.uniform的函數(shù)原型為:random.uniform(a, b),用于生成一個指定范圍內(nèi)的隨機(jī)符點(diǎn)數(shù),兩個參數(shù)其中一個是上限,一個是下限。如果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ī)生成一個實(shí)數(shù) random.randintrandom.randint()的函數(shù)原型為:random.randint(a, b),用于生成一個指定范圍內(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 <= 2013>>> print (random.randint(20, 20)) #結(jié)果永遠(yuǎn)是2020
結(jié)果:
13
20
Python獲取指定范圍內(nèi)隨機(jī)數(shù) random.randrangerandrange() 方法返回指定遞增基數(shù)集合中的一個隨機(jī)數(shù),基數(shù)默認(rèn)值為1。
random.randrange的函數(shù)原型為: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, 18, 2))16
結(jié)果:
16
Python隨機(jī)獲取列表,元組或字符串中的子元素 random.choicerandom.choice從序列中獲取一個隨機(jī)元素。
其函數(shù)原型為:random.choice(sequence)。參數(shù)sequence表示一個有序類型。
這里要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬于sequence。有關(guān)sequence可以查看python手冊數(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.shufflerandom.shuffle的函數(shù)原型為:random.shuffle(x[, random]),用于將一個列表中的元素打亂。如:
>>> 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.samplerandom.sample的函數(shù)原型為:random.sample(sequence, k),從指定序列中隨機(jī)獲取指定長度的片斷。
sample函數(shù)不會修改原有序列。
>>> import random>>> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> slice = random.sample(list, 5) #從list中隨機(jī)獲取5個元素,作為一個片斷返回>>> print (slice)[1, 5, 9, 3, 2]>>> print (list) #原有序列不會改變。[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的使用請點(diǎn)擊下面的相關(guān)鏈接
相關(guān)文章:
1. 前端html+css實(shí)現(xiàn)動態(tài)生日快樂代碼2. 不要在HTML中濫用div3. el-input無法輸入的問題和表單驗(yàn)證失敗問題解決4. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)5. XML基本概念XPath、XSLT與XQuery函數(shù)介紹6. XML入門的常見問題(四)7. WML的簡單例子及編輯、測試方法第1/2頁8. vue實(shí)現(xiàn)復(fù)制文字復(fù)制圖片實(shí)例詳解9. 關(guān)于html嵌入xml數(shù)據(jù)島如何穿過樹形結(jié)構(gòu)關(guān)系的問題10. XML入門的常見問題(三)
