python forでの繰り返し

繰り返し処理の基本です。やっぱり繰り返しが面倒でプログラミングしたいことが多いですから、かなり使う関数です。

for関数の基本

基本の構文としては

for 変数 in 回数を表す何か :
やりたいこと

です。
色々と考えすぎたりするかもしれませんが

for関数は「何回繰り返すか」を表すもの

を忘れないようにしましょう。

for関数内の「変数」

こちらはそんなに考えることはありません。回すごとに0から1ずつ上がっていきます。
好きな変数を設定しましょう。

for関数内の「回数を表す何か」

例えば事前にlist等を設定しておられて、よくある「リストの数だけ処理を回したい」という場合。基本的には

for i in list:

で対応できるはずです。

しかし何らかの型制限等でエラーが出る場合は

for i in len(list):

とすれば、クリアできるかもしれません。

lenはリスト内の個数を数えたり、文字数を数えたりしてくれます。変数から何回繰り返せばよいのかを指示できます。

型・・・大変ですよね~

ループさせる中、処理漏れ等の想定外が起こってしまう場合

私が遭遇していたケースですが、1万行程度のファイルに対して「A行が空白だったら削除」とい処理をしたかったのです。

しかし64bit win の環境で順次処理をして言った場合、処理行がズレてしまいます。
並列で動いている部分があって、消す→行がずれるとなるのかな、と思います。

であれば、どうすればよいのでしょう?

救世主 reversed

for 変数 in reversed(range(開始,最終)):

こう処理することで、行のズレがなくせます。
最終から-1していきながら処理していく、という指示です。

リベ大でみすくさんに教えて頂いた内容です。

こちらは随時、演習に対して追記していきます。

コメント

タイトルとURLをコピーしました