试图在python中创建一个布尔列表

时间:2014-03-24 16:21:08

标签: python list boolean

我需要在python中创建一个列表,列出从0到N的所有数字最初为true。我必须使用 def shake(alist):

我尝试了一些其他代码,但我被告知我没有创建一个布尔列表,其中一切都是真的,我刚刚计算出最终错误的数字。我应该创建这个值全部为真的列表,然后在我设置的所有整数值为false的位置为素数的倍数,然后打印出剩余的真值列表。我被困在如何开始这个,因为我之前没有看到过这样的事情。任何正确方向的帮助都将受到赞赏。

2 个答案:

答案 0 :(得分:2)

>>> N = 10
>>> [True] * N
[True, True, True, True, True, True, True, True, True, True]

答案 1 :(得分:1)

首先,要创建具有真值的列表,可以使用列表推导:

lst = [True for _ in range(N)]

或使用所有非零整数在bool上下文中评估为True的事实:

lst = map(bool, range(1, N+1))

稍后您可以在此列表中操作。要将某些值更改为False(请记住,第一个索引为0;)。

如果再次卡住,请显示一些代码,到目前为止,还有输入/预期输出。祝你好运。