Python带权重的列表中实现随机取值的技巧和方法,主要是利用Python中的random模块中的random.choices()函数,它可以根据指定的权重来从列表中随机取值。
需要设置好权重,将权重和列表中的值组成一个元组,比如:
list_weight = [('a',1), ('b',2), ('c',3)]
其中,a的权重为1,b的权重为2,c的权重为3。
使用random.choices()函数,将元组作为参数传入,比如:
import random random.choices(list_weight)
此时,就可以根据设置的权重从列表中随机取值了。
1、random.choices()函数的第二个参数是可选的,用来指定取值的个数,默认值为1;
2、random.choices()函数返回的是一个列表,如果只需要取一个值,可以使用random.choices()[0]来取出;
3、如果要设置的权重比较多,可以使用random.choices()函数的第三个参数,即weights参数,将权重作为一个列表传入,比如:
weights = [1,2,3] random.choices(list_weight,weights=weights)
4、random.choices()函数的第四个参数k,表示从列表中取出的值的个数,默认值为1,即只取出一个值;
5、random.choices()函数的第五个参数cum_weights,表示权重的累加数组,如果传入,则可以加快取值的速度。
Python带权重的列表中实现随机取值的技巧和方法,主要是利用Python中的random模块中的random.choices()函数,它可以根据指定的权重来从列表中随机取值。使用时,需要先设置好权重,将权重和列表中的值组成一个元组,将元组作为参数传入random.choices()函数,就可以根据设置的权重从列表中随机取值了。
本文链接:http://task.lmcjl.com/news/7557.html