关键词

在Python带权重的列表中实现随机取值的技巧和方法

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

展开阅读全文