【Python】for 文

URLをコピーする
URLをコピーしました!

こんにちは。Takuyaです。

今回は Python の for 文です。

プログラミングでは定番の繰り返しの処理を行うための構文ですね。

Pythonにおけるfor 文の基本的な書き方、具体的な使い方の例をいくつか見ていきます。

目次

for 文の書式

for 文の書き方は次のようになります。

for文の書式

変数名は繰り返したい処理の中で使用する変数になります。

シーケンス にはリスト、辞書、あとはrange()関数が入ることが多いです。リストの要素を順番に取り出して変数名に入れて、繰り返したい処理を行います。シーケンスの前のはin 、後ろには: を書きます。

そして、for ~ in ~ : の次の行から繰り返したい処理を書くのですが、繰り返したい処理の前にインデントを入れます。半角スペース4個を入れることが多いですが、全体で統一されていれば4個以外でも問題ありません。

このインデントが入っている行が続く限り、それは全てfor 文の中の繰り返し処理だと判断されます。

Python におけるfor 文は全てこの書き方になります。

例外はありません。

for 文の具体的な書き方

続いて、具体的なfor 文の書き方を見ていきます。

繰り返したい回数が決まっている場合はrange()関数を使う

for 文で繰り返したい回数が決まっている場合はシーケンスにrange() 関数を使います。

for i in range(5):
    print(i)

上記の実行結果

0
1
2
3
4

range(5)の場合、変数i には0〜4が入ります。

1から始めたい場合はrange() 関数で始点を指定します。

for i in range(1,6):
    print(i)

リストを使う

続いて、リストを使う場合です。

num_list = [1, 2, 3, 4, 5]

for i in num_list:
    print(i)

上記の実行結果

1
2
3
4
5

シーケンスにリストを指定すると、リストから要素を順番に取り出して変数に格納し、繰り返し処理を実行します。

words = ['Happy', 'birthday', 'to', 'you.']

for word in words:
    print(word)

辞書を使う

続いて、辞書を使う場合です。

fruits = {'apple':100, 'orange':200, 'banana':300}

for fruit in fruits:
    print(fruit)

リストと同じように書いてみました。

この場合、どういう結果になるでしょうか。

ここで、辞書について自信の無い方はぜひ下記記事を見直していただきたいです。

辞書は keyvalue を持っています。

‘apple’、’orange’、’banana’ が key で、100、200、300が value になります。

では、for 文のシーケンスに辞書を指定するとどうなるか?

正解は、key が変数に格納されます。

そのため、最初のコードの実行結果は次のようになります。

apple
orange
banana

では、辞書の value をfor 文の変数に格納したい場合はどうするのか?

辞書の values() メソッドを使います。

fruits = {'apple':100, 'orange':200, 'banana':300}

for fruit in fruits.values():
    print(fruit)

では、key も value も使いたい場合はどうするのか???

この場合は、辞書のitems() メソッドを使います。

また、2つの値を繰り返し処理の中で使うことになるので、変数名も2つ、カンマで区切って指定します。

fruits = {'apple':100, 'orange':200, 'banana':300}

for fruit_name, fruit_price in fruits.items():
    print(fruit_name, fruit_price)

辞書を使ってfor 文を回すケースも多いと思うので、辞書のvalues() メソッドとitems() メソッドは覚えておきましょう。

ちなみに、辞書にはkeys()メソッドもあります。

その他にシーケンスに指定できるもの

range()関数、リスト、辞書を使うパターンをご紹介しましたが、その他にもシーケンスに使えるものはあるのでしょうか?

もちろんあります。

for文のシーケンスとして使用できるものは反復可能体(iterable、イテラブル)と呼ばれています。

for文に関してさらに理解を深めたい方はイテラブルについて調べてみると良いかもしれません。

ちなみに、シーケンスとしてタプルも使えますし、文字列も使えます。

num_tuple = (1, 2, 3)

for i in num_tuple:
    print(i)
for i in 'Happy':
    print(i)

まとめ

今回は Python におけるfor文について、

  • 基本的な書き方
  • range()関数を使う例
  • リストを使う例
  • 辞書を使う例

をご紹介しました。

以上です。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

コメント

コメントする

目次
閉じる