1

Python の for ループを理解できません。たとえば、学習中に作成したコードを次に示します。

board = []
for i in range (0,5):
    board.append(["O"] * 5)

コードが何をするかは気にしないでください。「i」変数の意味がわかりません。

4

6 に答える 6

4

これは反復子です。各反復の結果を格納するバケットとして見ることができます。混乱を招くのは、スクリプトで単に使用されていないという事実です。これは、イテレータを「より複雑に」使用する別のスクリプトです。

fruits = ['banana', 'apple', 'strawberry', 'coconut', 'cherry']
for yup in fruits:
  print(yup)

ご覧のとおり、好きな名前を付けることができます。これは、その単語を反復子にする構文です。

于 2013-04-02T12:29:09.883 に答える
3

未使用の変数です。Python 構文ではその位置に変数が必要ですが、アクションを 5 回繰り返したいだけなので、何もしません。

一部の人々は、次のように未使用の変数に名前を付ける規則を好みます_

for _ in range(5)

しかし、この名前は干渉する可能性がありgettextます。

于 2013-04-02T12:27:02.693 に答える
1

c/java では、for ループは次のようになります。

for(int i=0;i<=10;i++)
{ 
  //for-loop-body
}

ここでは、反復ごとに、i が 10 に達するまで値を +1 増やし、その後はループから抜け出します。同様に、Python では for ループは次のようになります。

for i in range(0,10):
  //for-loop-body

ここで i は同じ操作を実行し、i は値をインクリメントする単なる変数です。

于 2013-04-02T13:27:34.013 に答える
1

つまりi、リスト内の現在の要素を参照します。

あなたのリストは次のように定義されています: 0, 1, 2, 3, 4, 5. したがって、このリストを繰り返しi、次のアイテムに割り当てます。 iii

python.org から直接:

Python の for ステートメントは、C や Pascal で慣れているものとは少し異なります。(Pascal のように) 数値の等差数列を常に反復したり、(C のように) 反復ステップと停止条件の両方を定義する機能をユーザーに与えたりするのではなく、Python の for ステートメントは、任意のシーケンス (リストまたは文字列)、シーケンスに表示される順序で。たとえば(しゃれは意図されていません)

words = ['cat', 'window', 'defenestrate']
for w in words:
 print w, len(w)

結果:

  • 猫 3
  • ウィンドウ 6
  • 脱皮する 12

http://docs.python.org/2/tutorial/controlflow.html

于 2013-04-02T12:26:41.830 に答える