亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python的random模塊及加權隨機算法的python實現方法

2020-02-23 04:12:37
字體:
來源:轉載
供稿:網友

random是用于生成隨機數的,我們可以利用它隨機生成數字或者選擇字符串。

•random.seed(x)改變隨機數生成器的種子seed。

一般不必特別去設定seed,Python會自動選擇seed。

•random.random()    用于生成一個隨機浮點數n,0 <= n < 1

•random.uniform(a,b)    用于生成一個指定范圍內的隨機浮點數,生成的隨機整數a<=n<=b;

•random.randint(a,b)    用于生成一個指定范圍內的整數,a為下限,b為上限,生成的隨機整數a<=n<=b;若a=b,則n=a;若a>b,報錯

•random.randrange([start], stop [,step])    從指定范圍[start,stop)內,按指定基數遞增的集合中獲取一個隨機數,基數缺省值為1

•random.choice(sequence)    從序列中獲取一個隨機元素,參數sequence表示一個有序類型,并不是一種特定類型,泛指list,tuple,字符串等

•random.shuffle(x[,random])    用于將一個列表中的元素打亂 (洗牌),會改變原始列表

•random.sample(sequence,k)    從指定序列中隨機獲取k個元素作為一個片段返回,不會改變原有序列

那么現在基礎知識有了,我們來實現一個加權隨機算法:

加權隨機算法一般應用在以下場景:有一個集合S,里面比如有A,B,C,D這四項。這時我們想隨機從中抽取一項,但是抽取的概率不同,比如我們希望抽到A的概率是50%,抽到B和C的概率是20%,D的概率是10%。一般來說,我們可以給各項附一個權重,抽取的概率正比于這個權重。那么上述集合就成了:

{A:5,B:2,C:2,D:1}

方法一:

最簡單的方法可以這樣:

把序列按權重值擴展成:lists=[A,A,A,A,A,B,B,C,C,D],然后random.choice(lists)隨機選一個就行。雖然這樣選取的時間復雜度是O(1),但是數據量一大,空間消耗就太大了。

# coding:utf-8import randomdef weight_choice(list, weight):  """  :param list: 待選取序列  :param weight: list對應的權重序列  :return:選取的值  """  new_list = []  for i, val in enumerate(list):    new_list.extend(val * weight[i])  return random.choice(new_list)if __name__ == "__main__":  print(weight_choice(['A', 'B', 'C', 'D'], [5, 2, 2, 1]))

方法二:

比較常用的方法是這樣:

計算權重總和sum,然后在1到sum之間隨機選擇一個數R,之后遍歷整個集合,統計遍歷的項的權重之和,如果大于等于R,就停止遍歷,選擇遇到的項。

還是以上面的集合為例,sum等于10,如果隨機到1-5,則會在遍歷第一個數字的時候就退出遍歷。符合所選取的概率。

選取的時候要遍歷集合,它的時間復雜度是O(n)。

# coding:utf-8import randomlist = ['A', 'B', 'C', 'D']def weight_choice(weight):  """  :param weight: list對應的權重序列  :return:選取的值在原列表里的索引  """  t = random.randint(0, sum(weight) - 1)  for i, val in enumerate(weight):    t -= val    if t < 0:      return iif __name__ == "__main__":  print(list[weight_choice([5, 2, 2, 1])])            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人短视频| 久久久久久久久久久国产| 91精品国产综合久久男男| 国产精品6699| 国产精品高潮呻吟久久av野狼| 久久视频在线视频| 亚洲国产99精品国自产| 亚洲丝袜av一区| www.欧美三级电影.com| 久久久久久国产精品久久| 欧美综合一区第一页| 九九热精品视频在线播放| 久久人人爽人人| 91香蕉国产在线观看| 在线播放日韩精品| 狠狠色狠色综合曰曰| 国产精品va在线播放我和闺蜜| 91在线观看免费网站| 久久好看免费视频| 日韩欧美aⅴ综合网站发布| 久久精品中文字幕一区| 午夜精品久久久久久久男人的天堂| 欧美高清一级大片| 国产在线拍偷自揄拍精品| 92福利视频午夜1000合集在线观看| 亚洲一品av免费观看| 亚洲xxxx在线| 亚洲一区www| 精品国内产的精品视频在线观看| 日韩中文有码在线视频| 在线丨暗呦小u女国产精品| 一本色道久久88精品综合| 懂色av影视一区二区三区| 欧美亚洲一级片| 国产91在线视频| 国产精品一区二区久久久| 日韩美女中文字幕| 精品中文字幕视频| 国产精品电影在线观看| 欧美国产一区二区三区| 91久久久久久久久久久久久| 国产精品福利无圣光在线一区| 在线视频日韩精品| 国产精品流白浆视频| 日韩欧美主播在线| 国产亚洲人成网站在线观看| 久久久999成人| 国产精品天天狠天天看| 久久伊人精品天天| 日韩成人在线视频网站| 久久久视频精品| 日韩在线中文字幕| 精品久久久久久久久国产字幕| 亚洲精品在线91| 欧美激情成人在线视频| 精品国偷自产在线视频99| 69国产精品成人在线播放| 日韩欧美亚洲一二三区| 亚洲伊人一本大道中文字幕| 欧美午夜女人视频在线| 国产日本欧美一区二区三区在线| 国产美女高潮久久白浆| 日韩经典中文字幕| 精品调教chinesegay| 欧美亚洲国产视频| 精品成人av一区| 成人黄色av免费在线观看| 国产亚洲精品久久| 国产精品久久久久77777| 欧美裸身视频免费观看| 久久久久久中文| 久久激情五月丁香伊人| 亚洲日本成人女熟在线观看| 国产欧美欧洲在线观看| 日本精品久久久久影院| 欧美日韩一区二区三区| 91精品国产高清久久久久久91| 亚洲性夜色噜噜噜7777| 国产美女久久精品| 成人444kkkk在线观看| 国产日产欧美精品| 欧美精品免费看| 国产精品一区二区久久精品| 欧美精品九九久久| www日韩中文字幕在线看| 51午夜精品视频| 国产欧美一区二区三区在线看| 欧美精品在线极品| 亚洲www永久成人夜色| 亚洲免费人成在线视频观看| 国产亚洲精品久久| 日韩风俗一区 二区| 亚洲国产精品成人av| 亚洲国产日韩一区| 久久精品久久久久久国产 免费| 精品性高朝久久久久久久| 亚洲国产欧美久久| 国产精品视频免费在线| 久久久久久91| 亚洲美女久久久| 国产有码在线一区二区视频| 日韩一二三在线视频播| 国产精品福利小视频| 亚洲偷欧美偷国内偷| 亚洲影院在线看| 亚洲伦理中文字幕| 亚洲精品日韩久久久| 日韩在线小视频| 成人黄在线观看| 日韩午夜在线视频| 欧美成人四级hd版| 欧美日韩中文在线观看| 日韩高清电影免费观看完整版| 日韩电影中文字幕一区| 亚洲成人久久电影| 亚洲最新av网址| 国产欧美日韩中文| 色综合久久天天综线观看| 国产精品第一页在线| 日韩av免费观影| 91视频九色网站| www.久久色.com| 欧美精品成人91久久久久久久| 欧美精品电影在线| 亚洲小视频在线观看| 日韩经典一区二区三区| 欧美裸体男粗大视频在线观看| 久热99视频在线观看| 91情侣偷在线精品国产| 81精品国产乱码久久久久久| 亚洲999一在线观看www| 欧美大成色www永久网站婷| 欧美俄罗斯乱妇| 91亚洲精华国产精华| 亚洲精品v天堂中文字幕| 久久黄色av网站| 欧美床上激情在线观看| 亚洲精品456在线播放狼人| 成人免费福利视频| 国产精品美女在线观看| 亚洲精品久久久久中文字幕二区| 国产亚洲欧洲高清一区| 久久影院资源站| 国产精品久久久久久婷婷天堂| 国产精品网址在线| 欧美成人精品在线观看| 欧美精品videosex极品1| 欧美成年人视频网站| 色综合导航网站| 亚洲综合在线小说| 久久精品视频免费播放| 日本高清视频一区| 国产丝袜一区二区三区| 俺去了亚洲欧美日韩| 亚洲亚裔videos黑人hd| 亚洲精品免费一区二区三区| 最近2019年好看中文字幕视频| 成人97在线观看视频| 日韩av毛片网| 欧美大片大片在线播放| 欧美风情在线观看| 久久久久久网站| 91免费欧美精品| 一区二区欧美久久|