gpt4 book ai didi

python - 如何随机更改列表中的 bool 值

转载 作者:行者123 更新时间:2023-12-03 19:42:46 24 4
gpt4 key购买 nike

我正在尝试为 bool 值列表随机分配一个“真”值。当我运行代码时,我不断收到错误消息。这是代码:

    for x in population:
if x:
r = random.randint(0, len(population))
population[r] = True

不断抛出错误:
"Traceback (most recent call last):
population[r] = True
IndexError: list assignment index out of range"

我确定这是微不足道的事情,但我无法弄清楚。当我将其限制在列表长度内时,索引分配如何超出范围?

最佳答案

random.randint(a, b) 返回 a 和 b 之间的数字 .如果函数调用的结果等于 len(population) ,那么你正在尝试做 population[len(population)] ,这将引发 IndexError 因为索引从 0 开始。

简单的变化:从 len(population) 减去 1 :

r = random.randint(0, len(population)-1)

或使用 randrange(a, b) ,其中不包括:
r = random.randrange(len(population))

请注意,如果第一个参数是 0,我们不需要它,因为它会假设开始是 0。

关于python - 如何随机更改列表中的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60749812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com