Python在字典中獲取帶權重的隨機值實現(xiàn)方式
更新時間:2022年11月30日 16:34:45 作者:什么都干的派森
這篇文章主要介紹了Python在字典中獲取帶權重的隨機值,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
一、前言
python在數(shù)組中隨機取值有現(xiàn)成的方法,但是要給每個隨機值被取到的概率加權重的話,可以參考下面這個方法
二、實現(xiàn)方式
import random def random_with_weight(data_dict): sum_wt = sum(data_dict.values()) # 計算權重和 sum_wt ra_wt = random.uniform(0, sum_wt) # 隨機獲取 0-sum_wt 之間的一個浮點數(shù) ra_wt cur_wt = 0 for key in data_dict.keys(): cur_wt += data_dict[key] # 遍歷并累加當前權重值 if ra_wt <= cur_wt: # 當隨機數(shù) <= 當前權重和時,返回權重對應的key return key if __name__ == '__main__': # 權重字典 data_dict = {'歷史': 1, '人文': 2, '科學': 8} # 取十次測試結(jié)果 for _ in range(10): value = random_with_weight(data_dict) print(value) # 歷史 # 科學 # 科學 # 科學 # 科學 # 科學 # 人文 # 科學 # 歷史 # 科學
到此這篇關于Python在字典中獲取帶權重的隨機值的文章就介紹到這了,更多相關Python字典權重隨機值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring http服務遠程調(diào)用實現(xiàn)過程解析
這篇文章主要介紹了Spring http服務遠程調(diào)用實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法
在Python中,我們經(jīng)常需要處理日期和時間,本文主要介紹了python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法,包含datetime模塊,strftime方法及pandas庫,具有一定的參考價值,感興趣的可以了解一下2024-02-02