使用python按概率取数
参考
修改为条件不用加起来为1.0
注意使用assert 来防止长度不致!
import random
from collections import defaultdict
def random_pick(lst, pro):
assert len(lst) == len(pro)
x = random.randrange(0, sum(pro))
c_pro= 0.0
for item, item_prob in zip(lst,pro):
c_pro += item_prob
if x < c_pro:
return item