真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

pythonrandom模塊高頻使用方法有哪些-創(chuàng)新互聯(lián)

這篇文章主要講解了“python random模塊高頻使用方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“python random模塊高頻使用方法有哪些”吧!

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)大化,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

為了方便大家理解和記憶,將方法進(jìn)行了歸類:

整數(shù)用函數(shù)

  • random.randrange(stop)隨機(jī)返回[0, stop-1]之間的整數(shù)

  • random.randrange(start, stop, step)隨機(jī)返回[start, stop-1]之間的整數(shù)。step是遞增計(jì)數(shù),列一個(gè)公式你就明白了:(隨機(jī)生成的值—start)%step=0

  • random.randint(start, stop)隨機(jī)返回[start, stop]之間的整數(shù)

  • random.getrandbits(bits)用于隨機(jī)對應(yīng)bits位的整數(shù)隨機(jī)返回[0, 2的bits位-1]之間的整數(shù)。

最后需要注意一點(diǎn):上面的幾個(gè)方法也是可以隨機(jī)返回負(fù)數(shù)的,只需要參數(shù)傳承負(fù)數(shù)就可以了。下面舉個(gè)例子:

    # 0-2之間的整數(shù)    print(random.randrange(3))    # 1-299之間的整數(shù),增長基數(shù)是5    print(random.randrange(1, 300, 5))    # 1-20之間的整數(shù)    print(random.randint(1, 20))    # -3到0之間的負(fù)數(shù)    print(random.randint(-3, 0))    # -3到-1之間的負(fù)數(shù)    print(random.randrange(-3, 0))    # 返回1~2-1之間的數(shù)字    print(random.randrange(1))    # 返回1~2的32次方-1之間的數(shù)字    print(random.getrandbits(32))        ## 返回值    0    1    17    0    -1    0    3150567570

浮點(diǎn)型函數(shù)

  • random.random()隨機(jī)返回[0,1)之間的浮點(diǎn)型數(shù)字

  • random.uniform(a, b)隨機(jī)返回[a,b)之間的浮點(diǎn)數(shù)字

其實(shí)上面的兩個(gè)方法也是符合數(shù)學(xué)隨機(jī)分布模式的,為了方便大家理解,我這里單獨(dú)列出來(區(qū)別于下面的 數(shù)學(xué)分布模式),方便大家在隨機(jī)生成浮點(diǎn)型數(shù)字時(shí),能少些猶豫。

# 1. 生成一個(gè)0-1之間隨機(jī)浮點(diǎn)數(shù)print(random.random())# 2. 生成一個(gè)a-b之間的隨機(jī)浮點(diǎn)數(shù)print(random.uniform(10, 500))print(random.uniform(40, 10))    # 返回值  0.7833926665736892  150.2805875943869  39.88236257691508

序列函數(shù)

顧名思義,序列函數(shù)隨機(jī)的對象是列表。

  • random.choice(list)從list隨機(jī)返回一個(gè)元素。

  • random.choices(list, weights,k)相當(dāng)于random.choice()的升級版本。weights是權(quán)重,針對list的每個(gè)元素都設(shè)置權(quán)重,來改變隨機(jī)的概率。k是返回幾個(gè)元素。需要注意這個(gè)方法返回的是列表。

  • random.sample( population, k )3.6新增功能,用于從population列表中,返回隨機(jī)無重復(fù)的抽樣。前面提過抽獎(jiǎng),其實(shí)如果你想做一個(gè)抽獎(jiǎng)系統(tǒng),可以用這個(gè)方法改造。

  • random.shuffle(list)將list列表中的元素隨機(jī)打亂。

對應(yīng)的例子如下:

  # 從給定的序列中隨機(jī)選擇一個(gè)元素  print(random.choice([1, 2, 3, 4, 5]))  # random.choice的升級版本,還可以指定某個(gè)元素對應(yīng)的權(quán)重  print(random.choices([1, 2, 3, 4, 5], [10, 15, 45, 50, 60]))  # 打亂某個(gè)序列,從python3.6新增的方法  list_test = [2, 3, 4, 5, 6]  random.shuffle(list_test)  print(list_test)  # 取樣,從某個(gè)列表中,隨機(jī)選擇若干個(gè)元素  print(random.sample([1, 2, 3, 4, 5, 6, 7], k=3))  # 返回值  3  [5]  [6, 3, 4, 2, 5]  [6, 1, 7]

控制random的行為

  • random.seed( a=None, version=2 )設(shè)置random的種子值,怎么理解種子值呢?大家就想一句話就好了:“種瓜得瓜種豆得豆”,所以一樣的種子值,那么種出來的結(jié)果是一樣的。假如現(xiàn)在隨機(jī)兩次,在調(diào)用random隨機(jī)生成數(shù)據(jù)前,將random.seed設(shè)置成一樣的值,則隨機(jī)生成的值是一樣的。

  • random.getstate()這個(gè)很簡單,就是返回random生成器當(dāng)前的狀態(tài)的。

  • random.setstate(state)這個(gè)用于設(shè)置random的狀態(tài)setstate和getstate方法結(jié)合起來使用,可以用于恢復(fù)random的狀態(tài)。

對應(yīng)的例子如下:

 # 驗(yàn)證seed random.seed(1) print(random.randrange(1000)) random.seed(1) print(random.randrange(1000)) # 驗(yàn)證random的狀態(tài) state = random.getstate() print(random.randrange(1000)) print(random.randrange(1000)) random.setstate(state) print(random.randrange(1000))  # 返回結(jié)果  137  137  582  867  582

數(shù)學(xué)分布模式

下面列的這些方法都是跟數(shù)學(xué)分布的概念有關(guān)系,說實(shí)話大學(xué)里學(xué)的相關(guān)的東西,都還給老師了,我查了資料想去理解不同的數(shù)學(xué)分布的知識,但是理解起來有些吃力,不過其實(shí)對我們使用的人來說,只需要理解其能根據(jù)一定規(guī)則,隨機(jī)返回浮點(diǎn)數(shù)就可以了。

  • random.triangular(low, high, mode) 以三角分布的概率分布返回隨機(jī)數(shù)

  • random.betavariate(alpha, beta) 以beta分布的概率分布返回0到1之間的隨機(jī)數(shù)

  • random.expovariate() 以指數(shù)分布返回隨機(jī)數(shù)

  • random.gammavariate(alpha, beta) 以gamma分布的概率分布返回隨機(jī)數(shù)

  • random.gauss(mu, sigma) 以高斯分布的概率分布返回隨機(jī)數(shù)

  • random.lognormvariate(mu, sigma) 以對數(shù)正態(tài)分布的概率分布返回隨機(jī)數(shù)

  • random.normalvariate(mu, sigma) 和高斯分布類似

  • random.vonmisesvariate(mu, kappa) 以von Mises分布的概率分布返回隨機(jī)數(shù)

  • random.paretovariate(alpha) 以Pareto( 帕累托)分布的概率分布返回隨機(jī)數(shù)

  • random.weibullvariate(alpha, beta) 以Weibull(威爾布)分布的概率分布返回隨機(jī)數(shù)

其實(shí)大家也不需要完全記住上面的方法,碰到具體的使用場景,知道有對應(yīng)的方法,能查看文檔找到就可以了。

感謝各位的閱讀,以上就是“python random模塊高頻使用方法有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對python random模塊高頻使用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


網(wǎng)站標(biāo)題:pythonrandom模塊高頻使用方法有哪些-創(chuàng)新互聯(lián)
路徑分享:http://weahome.cn/article/dhhhss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部