以下のリストをすべて「False」にリセットする方法はありますか?ブール値リストを使用するプログラムがあります。
bat=[False,False,False,False,False,False,False,False,False,False,False]
メイン ループが 2 番目のチームの 2 番目の反復を実行するとき、最初のチームからの「True」値が保持されます。2 番目のチームが正しいスコアを記録できるように、クリアする必要があります。
どんな助けでも大歓迎です。乾杯
以下のリストをすべて「False」にリセットする方法はありますか?ブール値リストを使用するプログラムがあります。
bat=[False,False,False,False,False,False,False,False,False,False,False]
メイン ループが 2 番目のチームの 2 番目の反復を実行するとき、最初のチームからの「True」値が保持されます。2 番目のチームが正しいスコアを記録できるように、クリアする必要があります。
どんな助けでも大歓迎です。乾杯
各反復の前に変数を再バインドしないのはなぜですか? すなわち、
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の回答に関するコメントを参照してください)