使用random.choices()时,能否传入列表作为weights参数?为何出现数量不匹配报错?
关于random.choices weights参数的问题
- weights完全可以传入列表,你遇到的报错和参数类型无关,核心原因是names(population)和values(weights)的长度不一致。
- random.choices对weights的要求是:必须是和population长度相等的可迭代对象(列表、元组都行),和population本身的类型要求完全一致。
- 举个可行的示例代码:
import random names = ["Alice", "Bob", "Charlie"] values = [1, 2, 3] result = random.choices(names, weights=values, k=1) print(result) - 解决方法:检查两个列表的长度,用
len(names)和len(values)确认数值,把其中一个列表调整成和另一个长度一致即可。
内容的提问来源于stack exchange,提问作者Hannah Duncan
相关产品推荐
相关产品推荐

