初学 Python —按权重撷取元素

来源:互联网 发布:学校封了游戏端口 编辑:程序博客网 时间:2024/06/06 03:42
import randomdict = {'red':0.010,'yellow':0.001,'green':0.9,'orange':0.089}z={}for i in range(0,99999):      x = random.uniform(0,1)      y = 0      for key in dict:            y += dict[key]            if y> x:               if key in z:                   z[key]=z[key]+1               else:                   z[key]=0               breaknum = 0c={}for i in z:    num += z[i]for i in z:    c[i]=z[i]/numprint (c)

* 1 random.unifrom的功能是随机产生一个浮点数

   2 循环十万次用以验验证,验证结果如下,可知该方法正确

{'green': 0.8995249762488124, 'orange': 0.08969448472423622, 'yellow': 0.0010200510025501275, 'red': 0.00976048802440122}

0 0