尝试在Python中创建布尔列表

0 投票
2 回答
2806 浏览
提问于 2025-04-17 23:40

我需要在Python中创建一个列表,这个列表从0到N的所有数字最开始都是“真”的。我必须使用这个函数:def shake(alist):

我试过其他一些代码,但有人告诉我我没有创建一个所有值都是“真”的布尔列表,我只是计算了数字,这样做是不对的。我应该创建一个所有值都是“真”的列表,然后把所有是质数倍数的整数值设为“假”,最后打印出剩下的“真”值列表。我不知道该怎么开始,因为我之前没见过这样的东西。任何指引都会很感激。

2 个回答

1

首先,要创建一个包含真实值的列表,你可以使用列表推导式:

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

或者你可以利用这样一个事实:所有非零的整数在布尔上下文中都被认为是True:

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

之后你可以对这个列表进行操作。如果想把一些值改成 False(记得,列表的第一个索引是 0 ;)。

如果你又遇到问题,请展示一下你目前写的代码,以及输入和期望的输出。祝你好运。

2

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个库或者框架的时候,发现自己写的代码没有达到预期的效果,这时候就需要去查找资料,看看有没有人遇到过类似的问题。

在StackOverflow上,很多开发者会分享他们的经验和解决方案。你可以在这里找到很多关于编程的问题和答案,帮助你更好地理解代码是怎么工作的。

如果你在学习编程,遇到困难,不妨去看看这些讨论,可能会对你有很大的帮助。记得多动手实践,才能更快地掌握编程的技巧哦!

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

撰写回答