長期投資シミュレーションツール『Tousimu』をリリースしました!

【初心者必見!】Pythonのfor文の使い方をわかりやすく解説!

プログラミング
スポンサーリンク

この記事では

pythonでのfor文の使い方について、わかりやすくご紹介します!

for文を使うと効率的なコードをに書けるので

ぜひ内容を理解して使いこなしていきましょう!

またpythonpythonの勉強法については

こちらで詳しく紹介しているので、ぜひご参考ください!

スポンサーリンク

for文とはどんな構文なのか?

まずは「for文がどんな構文なのか」ご説明します!

同じ処理を繰り返し実行したい時に使う!

結論、for文は「同じ処理を繰り返す時」に使用する構文です!

繰り返す??

例として「平均点を計算するプログラム」を考えます。

平均点を計算するプログラム
  1. 人数分のテストの点数を入力
  2. 平均点を計算
  3. 平均点を出力

# 生徒の人数
num = 5

# テストの点数の入力を受け取る
total_score = int(input())
total_score += int(input())
total_score += int(input())
total_score += int(input())
total_score += int(input())

# 平均点計算
ave = total_score / num

# 結果を出力
print(ave)

「入力と出力」や「数値計算」についてはこちらをご参考ください!

上記のコードの場合、明らかに

「テストの点数を受け取る」という処理を繰り返しており

生徒の人数が多いほどコードが長くなってしまいます。

for文はこのような処理をシンプルに書くことが出来ます。

for文の使い方

今回のように同じ処理を指定した回数だけ繰り返す場合

for文はrange関数を使って以下のように書きます。

for文の使い方
for  _  in  range((繰り返す回数)):
    (繰り返す処理)

「繰り返す処理」は

インデント(半角スペース×4)を空けて書くことに注意しましょう!

先程の「平均点を計算するプログラム」は

for文を使うと以下のように書くことが出来ます!

# 生徒の人数
num = 5

# 合計点の変数を定義
total_score = 0

# テストの点数の入力を受け取る
for _ in range(num):
    total_score += int(input())

# 平均点計算
ave = total_score / num

# 結果を出力
print(ave)

さらにfor文を使う場合は処理を繰り返す回数を任意に指定できるため

生徒の人数を毎回入力から指定することも可能です!

# 生徒の人数を入力で指定
num = int(input())

# 合計点の変数を定義
total_score = 0

# テストの点数の入力を受け取る
for _ in range(num):
    total_score += int(input())

# 平均点を計算
ave = total_score / num

# 結果を出力
print(ave)

またfor文は「回数を指定して繰り返す」以外にも様々な使い方があり

以降でリスト辞書に対するfor文の使い方をご紹介します!

スポンサーリンク

リスト(list)に対するfor文の使い方

次は「リストに対するfor文の使い方」をご紹介します!

リストについてはこちらをご参考ください!

要素を1つずつ取り出す

まずは「要素を1つずつ取り出す」です。

for文を使うと、リストの要素を1つずつ取り出すことが出来ます。

リストに対するfor文の使い方は以下です。

リストの要素を1つずつ取り出す方法
for (要素を代入する変数) in (リスト):
    (要素に対する処理)

 

alphabets = ["a", "b", "c"]

for alphabet in alphabets:
    # 要素を1つずつ出力
    print(alphabet)

# 出力結果
"""
a
b
c
"""

リストの要素を1つずつ取り出すため

繰り返す回数はリストの長さ(要素の数)と同じになります。

インデックスも同時に取り出す

次は「インデックスを同時に取り出す」です。

リストの要素を取り出す時に

その要素のインデックスを同時に取り出すことが出来ます。

インデックスを同時に取り出す時はenumerate関数を使います。

インデックスも同時に取り出す方法
for (インデックスを代入する変数), (要素を代入する変数) in enumerate((リスト)):
    (要素に対する処理)
alphabets = ["a", "b", "c"]

# iにインデックス、alphabetに要素を代入
for i, alphabet in enumerate(alphabets):
    # 要素とインデックスを1つずつ出力
    print(i, alphabet)

# 出力結果
"""
0 a
1 b
2 c
"""

for文とリストは同時に使う場面が非常に多いので

使い方をしっかり確認しておきましょう!

スポンサーリンク

辞書(dictionary)に対するfor文の使い方

最後に「辞書に対するfor文の使い方」をご紹介します!

リストの場合と同様に辞書でも

for文で要素を1つずつ取り出すことが出来ます。

辞書についてはこちらをご参考ください!

要素のキーを1つずつ取り出す

まずは「要素のキーを1つずつ取り出す」です。

辞書のキーを1つずつ取り出す場合は

以下のように書きます。

要素のキーを1つずつ取り出す方法
for (キーを代入する変数) in (辞書):
    (キーに対する処理)
alphabets = {"a":1, "b":2, "c":3}

for key in alphabets:
    # 要素とインデックスを1つずつ出力
    print(key)

# 出力結果
"""
a
b
c
"""

あくまで出力されるのが要素の値ではなく、

キーであることに注意しましょう!

要素の値を1つずつ取り出す

次は「要素の値を1つずつ取り出す」です。

要素の値の値の場合はキーの場合と異なりvaluesメソッドが必要です。

要素の値を取り出す方法
for (値を代入する変数) in (辞書).values():
    (値に対する処理)
alphabets = {"a":1, "b":2, "c":3}

for value in alphabets.values():
    # 要素の値を1つずつ出力
    print(value)

# 出力結果
"""
1
2
3
"""

range関数やenumerate関数などの関数とは異なり

メソッドであるため、values((辞書))と書かないように注意しましょう!

要素のキーと値を同時に取り出す

最後は「要素のキーと値を同時に取り出す」です。

要素のキーと値を同時に取り出す時はitemsメソッドを使用します!

alphabets = {"a":1, "b":2, "c":3}

for key, value in alphabets.items():
    # 要素とインデックスを1つずつ出力
    print(key, value)

# 出力結果
"""
a 1
b 2
c 3
"""

辞書はキーと値を同時に使用することが多いため

for文を使う場合itemsメソッドを使うことが最も多いです!

スポンサーリンク

まとめ

今回はpythonでのfor文の使い方について

  • for文とはどんな構文なのか
  • リストに対するfor文の使い方
  • 辞書に対するfor文の使い方

という流れで紹介しました!

for文はこちらで紹介しているif文と同様に非常に重要な構文です。

ぜひ扱いをマスターして、使いこなしていきましょう!

タイトルとURLをコピーしました