Pythonの勉強を再開 forループ

少し前にPythonでひとつ簡単なGUIのプログラムを作ってそれっきりになっていました。最近になってまたPythonの勉強をぼちぼちやってます。

いやあ、ダメですね。あいだがあいてしまってほとんど何も覚えてない。forループの構文から忘れてしまってました。みんなのPython 第4版独学プログラマーで復習しています。

そこで自分用のメモも兼ねて勉強したことをここに書いていこうと思います。まあ、あくまでメモ代わりということで、正確で詳しい説明は上記の書籍を参考にしてください。

forループ

Pythonのfor文はリストなどのイテラブルなオブジェクトから要素を取り出しながらループを回すのが特徴ですね。

dataList = ["one","two","three"]
for show in dataList:
    print(show)

結果は、

one
two
three

C言語などのfor文 for(int i=0;i<n;i++)と比べるとだいぶ違ってて、リストを指定すればその要素の数だけループを回してくれるのでインデックスがオーバーする心配もなくていいですね。

回数を指定したいときにはrange関数

とはいえ、Cのようにループの回数を指定したいときもあります。そのときにはrange関数を使います。range関数はrange(5)と引数に5を指定すると0~4の整数を返します。

これを使れば指定した回数をループするfor分を作れます。

for i in range(5):
    print(i)
0
1
2
3
4

という結果になります。変数iにはrange関数の戻り値が代入されてます。range関数に二つの引数をrange(2,11)と指定すれば2~10を繰り返すシークエンスを作ることもできます。

enumerate関数を使う

enumerate関数はループカウンタとコンテナの中身をセットにして返す関数です。

dataList = ["one","two","three"]
for i,item in enumerate(dataList):
    print(i, item)

結果は

0 one
1 two
2 three

変数iにループカウンタが代入され、itemにdataListの各要素が代入されています。

コメント

スポンサーリンク