布尔列表重置

时间:2012-05-20 09:34:58

标签: python python-3.x

有没有办法将下面的列表重置为所有'False'我有一个使用布尔列表的程序,例如。

bat=[False,False,False,False,False,False,False,False,False,False,False]

当主循环对第二个团队进行第二次迭代时,它仍然带有来自第一个团队的“True”值。我需要清理它,以便第二个团队可以记录正确的分数。

任何帮助将不胜感激。干杯

2 个答案:

答案 0 :(得分:4)

为什么不在每次迭代之前重新绑定变量?即,

for team in teams:
    bat = [False] * 11
    # do whatever

如果您必须就地重置列表,那就是

bat[:] = [False] * 11

bat[:] = [False] * len(bat)

答案 1 :(得分:1)

一个简单的列表理解应该可以解决这个问题:

bat = [False for _ in bat]

或乘以len

bat = [False] * len(bat)

编辑:您应该使用bat[:] =进行这些作业(请参阅有关larsmans答案的评论)