python中的隨機(jī)函數(shù)random的用法示例
一、random模塊簡(jiǎn)介
Python標(biāo)準(zhǔn)庫(kù)中的random函數(shù),可以生成隨機(jī)浮點(diǎn)數(shù)、整數(shù)、字符串,甚至幫助你隨機(jī)選擇列表序列中的一個(gè)元素,打亂一組數(shù)據(jù)等。
二、random模塊重要函數(shù)
1 )、random() 返回0<=n<1之間的隨機(jī)實(shí)數(shù)n;
2 )、choice(seq) 從序列seq中返回隨機(jī)的元素;
import random a = random.choice([1, 2, 3, 4]) print(a)
3 )、getrandbits(n) 以長(zhǎng)整型形式返回n個(gè)隨機(jī)位;
4 )、shuffle(seq[, random]) 原地指定seq序列;
5 )、sample(seq, n) 從序列seq中選擇n個(gè)隨機(jī)且獨(dú)立的元素;
三、random模塊方法說(shuō)明
- random.random()函數(shù)是這個(gè)模塊中最常用的方法了,它會(huì)生成一個(gè)隨機(jī)的浮點(diǎn)數(shù),范圍是在0.0~1.0之間。
- random.uniform()正好彌補(bǔ)了上面函數(shù)的不足,它可以設(shè)定浮點(diǎn)數(shù)的范圍,一個(gè)是上限,一個(gè)是下限。
- random.randint()隨機(jī)生一個(gè)整數(shù)int類(lèi)型,可以指定這個(gè)整數(shù)的范圍,同樣有上限和下限值,python random.randint。
- random.choice()可以從任何序列,比如list列表中,選取一個(gè)隨機(jī)的元素返回,可以用于字符串、列表、元組等。
- random.shuffle()如果你想將一個(gè)序列中的元素,隨機(jī)打亂的話可以用這個(gè)函數(shù)方法。
- random.sample()可以從指定的序列中,隨機(jī)的截取指定長(zhǎng)度的片斷,不作原地修改。
四、需要導(dǎo)入random模塊
1、random.random
random.random()用于生成一個(gè)0到1的隨機(jī)符小數(shù): 0 <= n < 1.0
>>> random.random() # Random float x,
2、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: a <= n <= b。如果 a <b, 則 b <= n <= a。
>>> random.uniform(1, 10) # Random float x,
3、random.randint
random.randint()的函數(shù)原型為:random.randint(a, b),用于生成一個(gè)指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機(jī)數(shù)n: a <= n <= b
>>> random.randint(10, 100)
4、random.randrange
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) 等效。
隨機(jī)選取0到100間的偶數(shù):
>>> import random >>> random.randrange(0, 101, 2)
5、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ù)模型這一章。
>>> random.choice('abcdefg&#%^*f') #隨機(jī)字符 'd' >>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] ) #隨機(jī)選取字符串: 'lemon'
6、random.shuffle
random.shuffle的函數(shù)原型為:random.shuffle(x[, random]),用于將一個(gè)列表中的元素打亂。如:
p = ["Python", "is", "powerful", "simple", "and so on..."] random.shuffle(p) print p #結(jié)果(因?yàn)殡S機(jī),所以你的結(jié)果可能不一樣。) #['powerful', 'simple', 'is', 'Python', 'and so on...'] p = ["Python", "is", "powerful", "simple", "and so on..."]
7、random.sample
random.sample的函數(shù)原型為:random.sample(sequence, k),從指定序列中隨機(jī)獲取指定長(zhǎng)度的片斷。sample函數(shù)不會(huì)修改原有序列。 如果k大于sequence元素個(gè)數(shù)的話會(huì)報(bào)錯(cuò)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python queue隊(duì)列原理與應(yīng)用案例分析
這篇文章主要介紹了Python queue隊(duì)列原理與應(yīng)用,結(jié)合具體案例形式分析了Python queue隊(duì)列的原理、功能、實(shí)現(xiàn)方法與使用技巧,需要的朋友可以參考下2019-09-09Python調(diào)用ctypes使用C函數(shù)printf的方法
這篇文章主要介紹了Python調(diào)用ctypes使用C函數(shù)printf,需要的朋友可以參考下2017-08-08python實(shí)現(xiàn)的正則表達(dá)式功能入門(mén)教程【經(jīng)典】
這篇文章主要介紹了python實(shí)現(xiàn)的正則表達(dá)式功能,詳細(xì)分析了Python正則表達(dá)式中常用的各種符號(hào)、函數(shù)等的使用方法與注意事項(xiàng),需要的朋友可以參考下2017-06-06python基礎(chǔ)教程之簡(jiǎn)單入門(mén)說(shuō)明(變量和控制語(yǔ)言使用方法)
這篇文章主要介紹了開(kāi)始學(xué)習(xí)python的第一步需要知道的知識(shí)(變量和控制語(yǔ)言使用方法),需要的朋友可以參考下2014-03-03