0

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

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

当主循环执行第二个团队的第二次迭代时,它仍然带有来自第一个团队的“True”值。我需要把它清理干净,这样第二队才能记录正确的分数。

任何帮助都感激不尽。干杯

4

2 回答 2

4

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

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

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

bat[:] = [False] * 11

或者

bat[:] = [False] * len(bat)
于 2012-05-20T09:57:22.377 回答
1

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

bat = [False for _ in bat]

或乘以len

bat = [False] * len(bat)

编辑:您应该bat[:] =用于这些作业(请参阅关于 larsmans 答案的评论了解原因)

于 2012-05-20T10:01:18.797 回答