import random
a = 1
b = 2
c = 3
print(random.choices([a,b,c], [50,3,1]))
上面输出[1],[2]或[3]的代码可以解释为什么输出在其周围带有方括号吗?
答案 0 :(得分:1)
因为random.choices(population, weights=None, *, cum_weights=None, k=1)
返回k个元素的列表。在您的情况下,由于您没有传递<Content>
<Button onPress={this.DatePicker.showDatePicker}>
<DatePicker props}/>
</Content>
的任何值,因此列表中只有一个项目。
如果要获取值而不是列表,则可以使用random.choice(seq)
,但在这种情况下,不能像k
那样传递权重列表。
答案 1 :(得分:1)
random.choices绘制了一个可以在调用k=..
时指定的值的列表:
fourty = random.choices(range(10),k=40)
您可以使用choices
指定概率的方法,通过索引将所得的单个值打印出来
print(random.choices([a,b,c], [50,3,1])) [0] # get the one single value from the result list
或者您可以使用random.choice()提供可反映您的意愿的可迭代项:
import random
a=1
b=2
c=3
# create an iterable that reflects your propabilies and draw 1 element from it
print(random.choice( [a]*50+[b]*3+[c] ) )