for
一定の回数反復したい場合、Pythonではほとんど「デフォルト」の選択です。例えば:
for i in xrange(10):
#do stuff
#iterates 10 times
for an_element in a_collection:
#do stuff
#iterates over every element in a collection
#though generators can be "infinite"
ただし、コードを無期限にループする場合は、while
ループの方が慣用的です。
while a_boolean:
#do stuff
#iterates as long as a_boolean evaluates to True
while True:
#do stuff
#iterates till a break is encountered
あなたはJavaのバックグラウンドを持っているのでwhile
、Pythonのwhile
ループはJavaのループとほとんど同じであり、ほとんど同じように使用されます。Pythonのfor
ループは次のようなものです。
for(Integer i : anArrayListOfIntegers){
//do stuff
}
for(int i=0;i<10;i++)
フォームはPythonには存在しません。代わりに、最初の例のフォームを使用しますrange()/xrange()
。とはいえ、リスト内包表記/ジェネレータ式などの場合を除いて、すべてのfor
ループを同等のループに置き換えることができます。while
速度やメモリ使用量の観点から、これを行うことには実際の長所と短所はありません。for
ただし、Pythonプログラマーは、コレクションを反復処理する場合や、条件が真である間または真になるまでwhile
反復処理する場合に使用する傾向があります。この一般的な経験則に固執すれば、おそらく間違いはありません。