0
8

More than 3 years have passed since last update.

【Python】for文

Posted at

for文

for文は繰り返し処理を行いたいときに使う。
書き方等は後述するが、一つのfor文に対して一方向の繰り返し処理が行われる。
例えば、エクセルファイル等の行と列があるような場合で、
すべてのセルに対して処理を行いたい場合は
一方向の繰り返し処理では対応できない。
そのような場合は、for文中にもう一度for文を用いることで
二方向での繰り返し処理を行うことが出来る。

記述方法

for 繰り返し変数 in オブジェクトの集合:
がfor文の記述方法である。

オブジェクトの集合とは、リストのような一つの変数名で複数のデータが入ってる変数をいう。
この複数のデータを一つづつ取り出して、そのデータに対してfor文内の処理が適用される。
for文中では取り出されたデータは繰り返し変数として扱われる。

for.py
list=[1,2,3,4,5]
for element in list:
    print(element)
>>>1
>>>2
>>>3
>>>4
>>>5

for文中のfor文

次にfor文中でfor文を記述することを考える。
今回はその例として九九を出力することを目指す。
以下が九九を出力するプログラムである。

for.py
list1=[1,2,3,4,5,6,7,8,9]
list2=[1,2,3,4,5,6,7,8,9]
for m in list1:
    for n in list2:
        print("{0}×{1}={2}".format(m,n,m*n))
>>>"1×1=1"
>>>"1×2=2"
>>> ...
>>>"1×9=9"
>>>"2×1=2"
>>>...

外側のfor文では繰り返し変数がmである。
内側のfor文では繰り返し変数がnである。

まず最初に外側のfor文が実行され、mにlist1から一つ目の要素である1が格納される。
次に内側のfor文が実行され、nにlist2から一つ目の要素である1が格納される。
そして内側のfor文中の処理であるprint文が実行され、結果が出力される。

内側のfor文中の処理が完了した後、内側のfor文の繰り返し処理が始まる。
したがって、nにlist2から二つ目の要素である2が格納され、for文中の処理が行われることになる。

この操作が繰り返されるといずれ、
nにlsit2の最後の要素である9が格納されfor文中の処理が実行される。
この最後の要素でfor文中の処理を完了した時、内側のfor文は終了する。

内側のfor文の処理が終了後、次に外側のfor文の繰り返しが始まる。
要するにmにlist1の二つ目の要素である2が格納され、
そしてもう一度内側のfor文が実行される。

繰り返し回数(計算回数)

先にみたように、for文中にfor文を記述する(外側のfor文と内側のfor文が存在する)ことで、
繰り返し中の繰り返しを行うことが出来る。
外側のfor文の繰り返し回数がNであり、内側のfor文の繰り返し回数がnであると、
繰り返し回数はN×n回となる。

よく使う繰り返し処理(指定回数繰り返し)

プログラムを組んでいくと、5回この処理を実行したい、10回この処理を実行したいなど
特定の回数分繰り返し処理を行いたい場合がある。
この場合の一つの方法として、range関数を使う方法がある。

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

このrnage関数の代わりに、エクセルなどの最大行数をとってくる.max_row()メソッドなど指定することで全ての行に対する処理や、全ての列(.max_column())に対する処理を行うことが出来る。

0
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
8