新聞中心
Python中的隨機函數(shù)random詳解

創(chuàng)新互聯(lián)成立與2013年,先為武宣等服務建站,武宣等地企業(yè),進行企業(yè)商務咨詢服務。為武宣企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
Python標準庫提供了一個名為random的模塊,用于生成偽隨機數(shù),偽隨機數(shù)是指在一定范圍內(nèi)看似隨機的數(shù)字序列,但實際上它們是由一個確定的初始值和一組算法計算得出的,在實際應用中,我們通常使用random模塊生成隨機數(shù),例如在游戲、數(shù)據(jù)分析、密碼學等領域,本文將詳細介紹Python中的random模塊,包括其基本功能、常用方法以及注意事項。
random模塊的基本功能
1、生成隨機整數(shù)
random模塊提供了randint(a, b)和randrange(start, stop[, step])兩個方法用于生成指定范圍內(nèi)的隨機整數(shù),a和b是不包含在隨機數(shù)范圍內(nèi)的整數(shù),start是隨機數(shù)范圍的起始值,stop是隨機數(shù)范圍的結(jié)束值(不包含),step是可選參數(shù),表示隨機數(shù)的步長。
示例代碼:
import random 生成1到10之間的隨機整數(shù)(不包含10) print(random.randint(1, 10)) 生成1到20之間的隨機整數(shù)(不包含20) print(random.randrange(1, 21))
2、生成隨機浮點數(shù)
random模塊提供了uniform(a, b)和random()兩個方法用于生成指定范圍內(nèi)的隨機浮點數(shù),a和b是不包含在隨機數(shù)范圍內(nèi)的浮點數(shù),random()方法返回一個0到1之間的隨機浮點數(shù)。
示例代碼:
import random 生成1到10之間的隨機浮點數(shù)(不包含10) print(random.uniform(1, 10)) 生成一個0到1之間的隨機浮點數(shù) print(random.random())
3、從序列中隨機選擇元素
random模塊提供了choice(seq)方法用于從給定的序列中隨機選擇一個元素,seq可以是列表、元組、字符串等可迭代對象。
示例代碼:
import random my_list = [1, 2, 3, 4, 5] print(random.choice(my_list))
4、打亂序列順序
random模塊提供了shuffle(x)方法用于將給定的序列x中的元素順序打亂,x可以是列表、元組、字符串等可迭代對象,注意:shuffle方法會直接修改原序列。
示例代碼:
import random my_list = [1, 2, 3, 4, 5] random.shuffle(my_list) print(my_list)
常用方法總結(jié)
除了上述基本功能外,random模塊還提供了其他一些常用方法,如:
random.seed():設置隨機數(shù)生成器的種子值,如果不設置種子值,每次運行程序時生成的隨機數(shù)序列都可能不同,設置相同的種子值可以保證每次運行程序時生成的隨機數(shù)序列相同。
random.sample(population, k):從給定的序列population中隨機選擇k個不重復的元素組成一個新的序列,population必須是可迭代對象,k為非負整數(shù)。
random.choices(population, weights=None, cum_weights=None):從給定的序列population中根據(jù)權(quán)重隨機選擇元素組成一個新的序列,population必須是可迭代對象,weights為每個元素對應的權(quán)重列表或元組,cum_weights為累積權(quán)重列表或元組,如果沒有提供cum_weights參數(shù),則默認所有元素的權(quán)重之和為1,如果提供了cum_weights參數(shù),則可以使用該參數(shù)代替權(quán)重列表或元組來表示累積權(quán)重。
random.shuffle(x):將給定的序列x中的元素順序打亂,x可以是列表、元組、字符串等可迭代對象,注意:shuffle方法會直接修改原序列。
random.uniform(a, b):生成一個指定范圍內(nèi)的隨機浮點數(shù)(不包含a和b),a和b是不包含在隨機數(shù)范圍內(nèi)的浮點數(shù),與randint方法類似,但返回的是浮點數(shù)而不是整數(shù)。
random.randrange(start, stop[, step]):生成一個指定范圍內(nèi)的隨機整數(shù)(不包含start和stop),start是隨機數(shù)范圍的起始值,stop是隨機數(shù)范圍的結(jié)束值(不包含),step是可選參數(shù),表示隨機數(shù)的步長,與randint方法類似,但返回的是整數(shù)而不是浮點數(shù)。
名稱欄目:python隨機數(shù)函數(shù)random
標題鏈接:http://www.dlmjj.cn/article/dheojss.html


咨詢
建站咨詢
