0

以下のリストをすべて「False」にリセットする方法はありますか?ブール値リストを使用するプログラムがあります。

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

メイン ループが 2 番目のチームの 2 番目の反復を実行するとき、最初のチームからの「True」値が保持されます。2 番目のチームが正しいスコアを記録できるように、クリアする必要があります。

どんな助けでも大歓迎です。乾杯

4

2 に答える 2

4

各反復の前に変数を再バインドしないのはなぜですか? すなわち、

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 に答える