我想编写一个具有以下要求的程序。
arr = ['a', 'b']
如何编写一个python程序,从a
x%的时间选择arr
。
(例如80%的时间)。
我不知道该怎么开始。请帮忙。
我知道random.choice(arr)
。但它会随机选择我不能让它有偏见。
答案 0 :(得分:6)
import numpy as np
np.random.choice(['a', 'b'], p=(.8, .2))
答案 1 :(得分:2)
首先,将您的概率存储为浮点数。例如,80%将是
prob = 0.8
然后,检查它是否大于random()
:
arr[0] if random() < prob else arr[1]
请注意,这也适用于Python 2。
答案 2 :(得分:0)
random.choices(['a','b'],权重= [0.8,0.2],k = 2)