Python Python 入門 プログラミング

【python 入門】繰り返し処理 for文の使い方をマスターする!

python for eye

 

プログラミング必須の繰り返し処理ですが、今回はfor文を紹介します。

他の言語とは、使い方が違うところでもあります。

入門者も他の言語から学び始めた方も、見ておくことをおすすめします。

 

本記事はこんな方におすすめです。

hituji
繰り返し処理のfor文の使い方を知りたい

 

本記事の内容

  • for文の使い方
  • 回数を繰り返す
  • データの繰り返し
  • enumerateの使い方
  • breakの使い方
  • enumerateの使い方
  • zipの使い方
  • breakの使い方
  • elseの使い方
  • reverseの使い方

python入門 基礎まとめも参考にしてください。

>> python 入門 基礎まとめ

 

サンプルコード

 

スポンサーリンク

for文の使い方

 

forとは?その役割

forの役割は、処理を繰り返すことです。

決まった回数繰り返す、データ分繰り返すなどです。

pythonでは、データの分繰り返すというイメージです。

 

for文は次のように使います。

for文の構文

for 変数 in イテラブル:

    処理

 

イテラブル(繰り返し可能なもの)にはデータ(listやdict等)を使います。

変数には、データの中身が順に取り出されます。

 

実際にどういった処理か見ていきましょう。

 

回数を繰り返す

pythonはデータを繰り返すという性質がありますが、決まった回数の繰り返しもできます。

5回繰り返したい場合、5つ分のデータを作ります。

データの作り方は決まっていて、rangeを使います。

rangeの使い方

range(数値)

 

下記コードを見てみましょう。range(5)で0,1,2,3,4の5つ分データをつくって、ループします。

 

range(5)の0,1,2,3,4が「i」に、順番に取り出されて、繰り返されます。

rangeのかっこの中の数値を変えれば、繰り返す数を変更することができます。

 

データの繰り返す

次にデータを繰り返す方法を見ていきます。

listやdictなどのデータを取り出しながら処理をします。

list、tuple

listもtupleも使い方は同じです。

イテラブルとしてlistやtupleのデータを使います。

 

1次元の場合

 

順にデータ取り出させているのがわかりますね。

 

2次元の場合

リストの中にリストが入っている場合です。

 

1次元目が繰り返され、[70, 170] > [65, 170] > [85, 170]という風に取り出されます。

 

dict

次は辞書型と呼ばれる、dictのループをします。

 

dictはkeys(キー値)とvalues(データ)2つがあります。

どちらかのデータをイテラブルにして繰り返します。

コードを見ていきましょう。

 

大抵はkeysの方をイテラブルにします。

valuesだと、key値抜けてしまうためです。

 

lenを使った処理

list、tupleでは、その長さをlenで取得して、ループする場合もあります。

 

まず、lenの動きを確認します。

listのデータ数の5が取得できています。

 

この数値をrangeに入れれば、5回分ループができます。

 

次はnumpyとpandasになりますが、まだ知らない方は飛ばしてください。

numpy、pandasを習得した後、再度確認すると良いでしょう。

numpy

numpyはリストと同じ方法です。

イテラブルにnumpyのデータを使います。

 

データ数でする場合は、lenではなく、numpyのshapeメソッドを使います。

 

2次元以上の場合もlistと同じです。

 

pandas

pandasは他とは少し違って、DataFrameのiterrowsメソッドを使います

iterrowsが繰り返すデータを作ってくれるので、これをイテラブルとして使います。

 

データは、ind: データNo、row: 行データが取得できます。

pandasは表データで使うことが多いので、2次元配列でデータをつくります。

 

データNoとデータが取得できていますね。

 

注意ポイント

numpy、pandasでは、できるだけforを使わずに計算しなければなりません。

処理がとても遅くなるためです。

行列計算や列、行同士の計算はforを使わずにできます。

 

ここまでが、基本的な使い方です。

これで、あなたもfor文を使えるようになりました!!!

第1ステップは完了です!

 

ここからは、少し応用した、知っていると便利な方法になります。

 

enumerateの使い方

先ほどから紹介している、イテラブルにlistやdictを指定する方法だと、データNoがわかりません。

1番目、2番目、...という順番です。

 

そいうときは、enumerateを使います。

 

for文の構文 enumerate使う場合

for ind, 変数 in enumerate(イテラブル):

    処理

 

indにデータNo、変数にデータが順に入っていきます。

*indはiとかでも全然OK

 

コードで見ていきましょう。

 

取れていなかった、データNoが取得できています。

 

zipの使い方

リストが2つ以上あり、それを同時に繰り返し処理したい場合は、zipを使います。

 

for文の構文 zip使う場合

for 変数1, 変数2,... in zip(イテラブル1, イテラブル2,...):

    処理

各変数にデータが入って繰り返されます。

 

コードで見ていきます。

身長と体重のデータがlistに入っている前提として処理します。

 

リストのデータが各変数に入っていってますね。

 

 

breakの使い方

breakは強制的に繰り返し処理を抜け出すことができます。

 

for文の構文 break使う場合

for 変数 in イテラブル:

    処理

if 条件:

        break

breakはfor文のどこに配置しても良いです。

 

コードで見ましょう。

 

なぜ抜ける必要があるのか?

これは処理内容によりますが、例えば、データに異常が発生したとか、処理を継続する必要がなくなったとか色々あります。

 

 

reverseの使い方

昇順や降順で並んでいたデータがあったときは、データの最後から取得したいという状況があります。

そのときは、reversedを使います。

 

for文の構文 reversed使う場合

for 変数 in reversed(イテラブル):

    処理

 

コードで見ていきましょう。

データが逆から処理されていますね。

 

elseの使い方

for文の処理が完了したときに、実行したい処理がある場合は、for elseを使います。

処理が完了したとき:イテラブルのデータ全て処理されたとき

処理が完了してないとき:先程のbreakで処理を抜け出したとき

 

for文の構文 else使う場合

for 変数 in イテラブル:

    処理

else:

    処理

 

コードを見ていきましょう。

 

繰り返し処理が完了後に「完了」出力する処理が実行されていますね。

 

この処理は、正直、他の人のコードでも見たことはないくらいのレベルです。

 

 

 

-Python, Python 入門, プログラミング

© 2021 ひつじ工房