是否有辦法將下面的列表重置爲全部'False'我有一個使用布爾列表的程序,例如布爾列表重置
bat=[False,False,False,False,False,False,False,False,False,False,False]
當主循環確實是第二個團隊的第二次迭代時,它仍然帶有來自第一個團隊的「真」值。我需要清除它,所以第二隊可以記錄正確的分數。
任何幫助將不勝感激。歡呼聲
是否有辦法將下面的列表重置爲全部'False'我有一個使用布爾列表的程序,例如布爾列表重置
bat=[False,False,False,False,False,False,False,False,False,False,False]
當主循環確實是第二個團隊的第二次迭代時,它仍然帶有來自第一個團隊的「真」值。我需要清除它,所以第二隊可以記錄正確的分數。
任何幫助將不勝感激。歡呼聲
爲什麼不在每次迭代之前重新綁定變量?即,
for team in teams:
bat = [False] * 11
# do whatever
如果您必須重置就地名單,這是
bat[:] = [False] * 11
或
bat[:] = [False] * len(bat)
一個簡單的列表理解應該做的伎倆:
bat = [False for _ in bat]
或乘以len
:
bat = [False] * len(bat)
編輯:你應該使用bat[:] =
這些任務(見larsmans的回答徵求意見爲什麼)
爲什麼*你應該使用'bat [:]'? OP似乎只有一個「bat」引用,需要在每次迭代之前重置,因此它只對當前迭代有效。由於您已經創建了一個臨時列表,因此修改原始內容僅僅是(微小的)矯枉過正。 –
謝謝你們,現在就把它工作到我的代碼中。 – user1291271
出了什麼問題'因爲我在範圍內(LEN(BAT)):蝙蝠[我] =假'? –
@FerdinandBeyer:它需要太多的輸入? :) –
@larsmans:是的,但在我看來這是一個可憐的藉口:) –