こんにちは,shun(@datasciencemore)です!!
前回は,条件分岐処理についてやってきました.
今回は繰り返し処理について学習していきます!!
0.繰り返し処理ってなに??

繰り返し処理っていうのは,同じような処理を繰り返し実施することだよ!!
繰り返し処理を書くことでコードを短く,きれいに書くことができるんだ!!
繰り返し処理は基本,forを使用して記述するよ!!
プログラミングをしているとよく同じような処理を何回も実施したくなることがあります.
例えば10回,「おはようございます!」と表示するプログラムを書いてみましょう.
1 2 3 4 5 6 7 8 9 10 |
# forを使用しない print("おはようございます!") print("おはようございます!") print("おはようございます!") print("おはようございます!") print("おはようございます!") print("おはようございます!") print("おはようございます!") print("おはようございます!") print("おはようございます!") |
1 2 3 4 5 6 7 8 9 |
おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! |
こんな感じで10回,print("おはようございます!")を繰り返せばOKです.
ただ正直かなり微妙な書き方ですよね笑
もし,繰り返し回数が10回ではなく,100回,1000回,10000回と増えていったら,その分,print("おはようございます!")の数が増えていくので,かなり大変になります.
そのようなときに役立つのが繰り返し処理になります.
繰り返し処理は,forかwhileを使用して記述しますが,おもに使用するのはforになります.
プログラミング対象にもよりますが,繰り返し処理の9割程度がforという感覚です.
ということでforの使い方を見ていこうと思います!
1.for
先ほどの10回,「おはようございます!」と表示するプログラムをforを使用して書くとこのようになります.
1 2 3 |
# forを使用する for i in range(10): print("おはようございます!") |
1 2 3 4 5 6 7 8 9 10 |
おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! おはようございます! |
明らかにコードが短くなってきれいになったことがわかると思います.

それにこれだとrangeの中の数値を変えれば何回でも出力可能なので臨機応変に対応できます.
rangeについては後ほど説明します.
forの使い方のイメージは次のとおりです.

ただこれを見るだけだと意味不明だと思うので,具体例を用いて説明します.
具体例として,str型のデータが格納されたリストの要素を順番に表示することを考えます.

forを使用すると,水色枠のように記述することができます.
これがどういうことがと言いますと
まず
最初にリストの(クリック)インデックス0に格納されている要素をdataにいれて,(クリック)処理をする.
次にリストの(クリック)インデックス1に格納されている要素をdataにいれて,(クリック)処理をする.
次にリストの(クリック)インデックス2に格納されている要素をdataにいれて(クリック)処理をする.
次にリストの(クリック)インデックス3に格納されている要素をdataにいれて,(クリック)処理をする.
次にリストの(クリック)インデックス4に格納されている要素をdataにいれて,(クリック)処理をする.
すべてのデータを処理したので終了する.
ということになります.
具体的なコードは次のとおりです.
1 2 3 |
list_1 = ["zero", "one", "two", "three", "four"] for data in list_1: print(data) |
1 2 3 4 5 |
zero one two three four |
言葉だけだとよくわからないかもですが,コーディングすればイメージしやすいと思います.
2.rangeとappend
forを使用するときによく使用する関数がrangeとappendです.
rangeは連番のリスト(のようなもの)を作成する関数です.
正確にはリストではないのですが,リストだと考えてしまってOKです.
appendは,リストの最後に要素を追加する関数です.

rangeの具体例
1 |
range(4) |
1 |
range(0, 5) |
listを使用するとrangeの出力が何を示しているのかよくわかります.
1 |
list(range(4)) |
1 |
[0, 1, 2, 3] |
appendの具体例
1 2 3 |
list_2 = [1, 3, 5] list_2.append(7) list_2 |
1 |
[1, 3, 5, 7] |
3.リスト内包表記
forを使用して簡単にリストを生成する書き方があるので紹介します.
その書き方がリスト内包表記と呼ばれるものです.

例えば[0, 2, 4, 6, 8]というリストを作成することを考えましょう.
リスト内包表記を使わない場合と使った場合を比較してみましょう.
1 2 3 |
list_3 = [] for i in range(5): list_3.append(i*2) |
1 |
[i*2 for i in range(5)] |
どちらも[0, 2, 4, 6, 8]というリストを出力してくれます.
1 |
[0, 2, 4, 6, 8] |
ただリスト内包表記のほうが,空のリストを用意しない分,すっきりとしていますね.
リスト内包表記もよく出てくるのでこの機会に覚えちゃいましょう!
まとめ
今回は繰り返し処理についてやってきました.
繰り返し処理は,基本forを使用するといいのでした.
forを使用すれば,同じような処理を簡潔に書くことができます.
forでよく使用する関数がrangeとappendです.
そして,リスト内包表記というリストを簡単に作成するための記法があるのでした.
それではお疲れさまでした!
次回
-
-
【Python】関数
こんにちは,shun(@datasciencemore)です!!今回は関数についてです.さて,関数とは何なのでしょうか?関数を使いこなせるとコードをきれいに書けるようになります!それでは,さっそく関数 ...
続きを見る