在python帶權(quán)重的列表中隨機(jī)取值的方法
1 random.choice
python random模塊的choice方法隨機(jī)選擇某個(gè)元素
foo = ['a', 'b', 'c', 'd', 'e'] from random import choice print choice(foo)
2 random.sample
使用python random模塊的sample函數(shù)從列表中隨機(jī)選擇一組元素
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(list, 5) #從list中隨機(jī)獲取5個(gè)元素,作為一個(gè)片斷返回 print slice print list #原有序列并沒有改變。
3 python帶權(quán)重的隨機(jī)取值
import random def random_weight(weight_data): total = sum(weight_data.values()) # 權(quán)重求和 ra = random.uniform(0, total) # 在0與權(quán)重和之前獲取一個(gè)隨機(jī)數(shù) curr_sum = 0 ret = None keys = weight_data.iterkeys() # 使用Python2.x中的iterkeys # keys = weight_data.keys() # 使用Python3.x中的keys for k in keys: curr_sum += weight_data[k] # 在遍歷中,累加當(dāng)前權(quán)重值 if ra <= curr_sum: # 當(dāng)隨機(jī)數(shù)<=當(dāng)前權(quán)重和時(shí),返回權(quán)重key ret = k break return ret weight_data = {'a': 10, 'b': 15, 'c': 50} random_weight(weight_data)
以上這篇在python帶權(quán)重的列表中隨機(jī)取值的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
通俗的講解深度學(xué)習(xí)中CUDA,cudatookit,cudnn和pytorch的關(guān)系
有些剛?cè)胄械呐笥芽偸歉悴磺宄﨏UDA,cudatookit,cudnn和pytorch的關(guān)系,那么今天這篇文章用通俗易懂的話講解了他們之間的關(guān)系,需要的朋友可以參考下,相信會對你有所幫助2023-03-03python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式
這篇文章主要介紹了python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05anaconda如何創(chuàng)建和刪除環(huán)境
這篇文章主要介紹了anaconda如何創(chuàng)建和刪除環(huán)境,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04詳解Python NumPy中矩陣和通用函數(shù)的使用
在NumPy中,矩陣是ndarray的子類,與數(shù)學(xué)概念中的矩陣一樣,NumPy中的矩陣也是二維的,可以使用 mat 、 matrix 以及 bmat 函數(shù)來創(chuàng)建矩陣。本文將詳細(xì)講解NumPy中矩陣和通用函數(shù)的使用,感興趣的可以了解一下2022-06-06python使用paramiko模塊通過ssh2協(xié)議對交換機(jī)進(jìn)行配置的方法
今天小編就為大家分享一篇python使用paramiko模塊通過ssh2協(xié)議對交換機(jī)進(jìn)行配置的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07python列表使用實(shí)現(xiàn)名字管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python列表使用實(shí)現(xiàn)名字管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01