本篇為大家整理python中random函數(shù)的用法,random模塊提供的常用函數(shù)包括random.seed random.randrange random.randint random.choice random.shuffle random.sample random.random random.uniform random.expovariate,詳情一起來看一下。
在 random 模塊下提供了如下常用函數(shù):
1.random.seed(a=None, version=2):指定種子來初始化偽隨機(jī)數(shù)生成器。
2.random.randrange(start, stop[, stop]):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) 等效。
3.random.randint(a, b):random.randint()的函數(shù)原型為:random.randint(a, b),用于生成一個(gè)指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機(jī)數(shù)n: a <= n <= b。
4.random.choice(seq):random.choice從序列中獲取一個(gè)隨機(jī)元素。其函數(shù)原型為:random.choice(sequence)。參數(shù)sequence表示一個(gè)有序類型。這里要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬于sequence。有關(guān)sequence可以查看python手冊(cè)數(shù)據(jù)模型這一章。
5.random.choices(seq, weights=None, cum_weights=None, k=1):從 seq 序列中抽取 k 個(gè)元素,還可通過 weights 指定各元素被抽取的權(quán)重(代表被抽取的可能性高低)。
6.random.shuffle(x[, random]):random.shuffle的函數(shù)原型為:random.shuffle(x[, random]),用于將一個(gè)列表中的元素打亂。
7.random.sample(population, k):random.sample的函數(shù)原型為:random.sample(sequence, k),從指定序列中隨機(jī)獲取指定長(zhǎng)度的片斷。sample函數(shù)不會(huì)修改原有序列。 如果k大于sequence元素個(gè)數(shù)的話會(huì)報(bào)錯(cuò)。
8.random.random():生成一個(gè)從0.0(包含)到 1.0(不包含)之間的偽隨機(jī)浮點(diǎn)數(shù)。
9.random.uniform(a, b):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
10.random.expovariate(lambd):生成呈指數(shù)分布的隨機(jī)數(shù)。其中 lambd 參數(shù)(其實(shí)應(yīng)該是 lambda,只是 lambda 是 Python 關(guān)鍵字,所以簡(jiǎn)寫成 lambd)為 1 除以期望平均值。如果 lambd 是正值,則返回的隨機(jī)數(shù)是從 0 到正無窮大;如果 lambd 為負(fù)值,則返回的隨機(jī)數(shù)是從負(fù)無窮大到 0。
以上就是為大家總結(jié)的python中random函數(shù)的用法,內(nèi)容較多,希望大家能夠了解并好好掌握random 模塊下提供的常用函數(shù)。如果想要了解python培訓(xùn)課程,歡迎咨詢千鋒教育!