プログラミングのすすめ

プログラミングに関する情報サイト

Pythonで繰り返し処理を実装する~for文, while文~

Pythonでの繰り返し処理について

今回はPythonにおける「繰り返し処理(ループ)」について解説します。 そもそも繰り返し処理とはなんなのか? 例えば、前回説明した"if文"という、「もし~が~ならば」のような処理をする場合の構文をお教えしました。 if文は条件分岐の際に使いましたが、もしこのif文が成立するまで同じ処理を繰り返したい場合などには、繰り返し処理を使うことで簡単に実現することができます。 Pythonで使うことのできる繰り返し処理のやり方は、

  • while文を使うやり方
  • for文を使うやり方

基本的にこの2つです。

while文の基本

この"while"文は主に繰り返す回数が未定の場合に使用します。 例えば、「特定の状態になるまで繰り返す」や、「永遠に繰り返す」などのときに"while"文を使います。 まずは、「特定の状態になるまで繰り返す」についてサンプルコードで見ていきましょう。

特定の状態になるまで繰り返す[ サンプルコード ]

number = 5 
while number < 1000:
    number *= 2 
  print(number)

簡単に解説すると、数値numberが1000以上になるまで、numberを2倍にしていき、1000以上になったらループを抜けます。 注意する点としては、if文とは違い"継続条件"を指定することです。 つまり、条件が成立している( Trueとみなされる )間だけ処理が実行されるということです。 この継続条件の判定されるタイミングはループの開始前であるため、条件によっては1度も処理が実行されないことも有り得るのです。

永遠に繰り返す [ サンプルコード ]

次に永遠に繰り返す方法を見ていきます。 方法としては簡単です。 先ほどのコードの条件となる部分が必ず"true"になるようにするだけです。

while true: 
  print(" 条件式をtrueを指定することで永遠に処理が繰り返されます。 ")

for文の基本

次によく使われるfor文について説明していきます。 for文は、[ リスト ]や[ ディクショナリ ]などのシーケンスをループ処理するための構文です。 プログラムではシーケンスの要素を個別に処理することが多くあるので、しっかり基本を押さえて覚えておきましょう。 まずは、リストを扱う場合のfor文からみていきます。

リストを扱う場合のfor文

for item in [1, 2, 3]:
  print(item)

for文では最初に指定する変数(上記のサンプルでは"item")は好きな名前にできるのでわかりやすい名前をつけてください。 そして、"in"句の後にループさせるリストを指定します。 ここで指定したリストの要素数だけループが回され、ループ毎に変数に要素が割り当てられて、ループ内でなんらかの処理を行うことができます。

ディクショナリを扱う場合のfor文

最後にディクショナリを扱ったfor文の書き方を見ていきましょう。 ディクショナリには"キー"と"値"が存在するため、そのどちらかで繰り返すかによって、それぞれループ方法が異なります。 まずは、"キー"をループする場合を見ていきます。

ディクショナリの"キー"をループする場合
for key in {1:"Cat", 2:"Dog", 3:"Bird"}:
  print(key)

このように"キー"を指定してループする場合、呼び方は"リスト"の時とおおよそ同じですね。 今までと少し違うのは次の"値"をしていしてループする時です。

ディクショナリの"値"をループする場合
for value in {1:"Cat", 2:"Dog", 3:"Bird"}.values(): 
  print(value)

”値”をループにする場合は、上記のサンプルコードのようにディクショナリの”values”メソッドを使って”値のセット”を取得する必要があります。 また、上記の両方。つまり”キー”と”値”の両方を同時にループさせる方法もあります。

"キー"と"値"を同時にループ
for key, value in {1:"Cat", 2:"Dog", 3:"Bird"}.items(): 
  print("{0}:{1}".format(key, value))

"キー"と"値"を同時にループする場合は、上記のサンプルコードのように2つの変数をカンマ(,)区切りで指定する必要があります。 そして、ディクショナリの"itemsメソッド"を呼び出さなければいけないので、先ほどの「"値"」を使ったループの時のように[values]とは異なり、[items]なので注意してください。

まとめ

今回はPythonで繰り返し処理をしたいときに、すぐにコピーして使えるようなサンプルコードと一緒に紹介しました。

  • この処理は〇回は繰り返したいな。
  • ある条件になるまで無限に繰り返したいな。

といったような処理を実装することができます。  


PVアクセスランキング にほんブログ村