Python には C スタイルの for ループがないことがわかりました。
for (var;condition:increment)
単純な for ループの場合、使用できます
for i in xrange(number):
生産する
for (i;i<number;i++)
しかし、私が持っている場合
for (i = 2; an_array[i - 2] < number; i++)
どうすればPythonで生成できますか?
ありがとう
あなたは出来る
その配列を繰り返し処理し、次のitertoolsような のきちんとした関数の 1 つを使用しtakewhile()ます。
for item in takewhile(lambda i: i < number, array[2:]):
# do stuff
これは、その内容が特定の条件を満たすまで (またはその間)、指定された iterable (ここでは配列) から値を取得します。
ここでitemは、それぞれの配列エントリの内容です。インデックスが本当に必要な場合は、次のものと組み合わせることができますenumerate()。
for index, item in enumerate(takewhile(lambda i: i < number, array[2:])):
# do stuff
ただし、このインデックスは通過した項目をカウントするため、2 ずれています。最初に、配列の右側の部分にアクセスするためにarray[2:]追加する必要があります。2
while ループを使用します。
i = 2
while (array[i-2] < number):
# do stuff
i += 1
以下を使用できます。
for i in xrange(2, number):
# Whatever
xrange が 2 つのパラメーターを取る場合、最初の値から最後の値までの範囲が作成されます。最初の値は含まれますが、最後の値は含まれないことに注意してください。
編集:配列を使用している場合は、Tim Pietzcker の方法が適しています。便利な対応物を提供するために、このメソッドを提供しました。