読み込み中...

Python入門!初心者でも理解できるfor文の10の活用法

Pythonのfor文を用いたプログラミングの基本的なコードスニペット Python
この記事は約7分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事では、Pythonのfor文の使い方とその詳細な使い方、対処法、注意点、カスタマイズ方法についてわかりやすく説明します。

最後には、これらの知識を活かした応用例も提供します。

●Pythonとは

Pythonは、初心者から熟練者までが利用する、人気のある汎用プログラミング言語です。

その人気の理由として、簡潔で読みやすい構文や、高レベルの抽象化が可能であるため、さまざまな領域での利用が可能であるといった特徴が挙げられます。

●for文の基本

Pythonのfor文は、ある範囲内での繰り返し処理を実現するための構文です。

特にリストや文字列などのイテラブルなオブジェクトに対しての処理を簡単に記述できるのが特徴です。

●for文の詳細な使い方

次に、for文の詳細な使い方を見ていきましょう。

○リストに対するfor文の使い方

リストとは、複数のデータを順番に格納するデータ構造です。

for文と組み合わせることで、リスト内の要素に対する処理を簡単に記述できます。

□サンプルコード1:リストの全要素を出力

下記のサンプルコードでは、リスト内の全ての要素を出力するプログラムを紹介します。

この例では、for文を使ってリスト内の各要素を一つずつ取り出し、その要素を出力しています。

my_list = [1, 2, 3, 4, 5]
for i in my_list:
    print(i)

このコードを実行すると、リスト内の各要素が順に出力されます。

□サンプルコード2:リストの各要素に処理を適用

次に、リストの各要素に対して一定の処理を適用する例を見ていきましょう。

下記のサンプルコードでは、リスト内の全ての要素を2倍にするプログラムを紹介します。

my_list = [1, 2, 3, 4, 5]
for i in range(len(my_list)):
    my_list[i] = my_list[i] * 2
print(my_list)

このコードを実行すると、リスト内の各要素が2倍された新しいリストが出力されます。

○range関数を用いたfor文の使い方

range関数は、指定した範囲の連続する整数を生成する関数です。

これをfor文と組み合わせることで、特定の回数だけ繰り返し処理を行うことができます。

□サンプルコード3:0から9までの数列の生成

下記のサンプルコードでは、range関数を用いて0から9までの数列を生成し、その各要素を出力するプログラムを紹介します。

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

このコードを実行すると、0から9までの整数が順に出力されます。

□サンプルコード4:任意の範囲の数列の生成

range関数は、引数を2つまたは3つ指定することで、任意の範囲やステップの数列を生成することができます。

下記のサンプルコードでは、2から20までの偶数を生成し、その各要素を出力するプログラムを紹介します。

for i in range(2, 21, 2):
    print(i)

このコードを実行すると、2から20までの偶数が順に出力されます。

●for文の応用例

Pythonのfor文は、その汎用性から多様な応用が可能です。

それでは、二次元リストや辞書といったデータ構造に対するfor文の活用法を解説します。

○二次元リストに対するfor文の使い方

二次元リストとは、リストの中にリストが含まれているデータ構造です。

二次元リストに対するfor文の使い方を理解することで、より複雑なデータ構造に対する処理が可能となります。

□サンプルコード5:二次元リストの全要素を出力

下記のサンプルコードでは、二次元リストの全要素を出力するプログラムを紹介します。

この例では、for文をネスト(入れ子に)して、二次元リストの各要素を取り出しています。

my_2d_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in my_2d_list:
    for item in row:
        print(item)

このコードを実行すると、二次元リスト内の各要素が順に出力されます。

□サンプルコード6:二次元リストの各要素に処理を適用

次に、二次元リストの各要素に対して一定の処理を適用する例を見ていきましょう。

下記のサンプルコードでは、二次元リスト内の全ての要素を2倍にするプログラムを紹介します。

my_2d_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(len(my_2d_list)):
    for j in range(len(my_2d_list[i])):
        my_2d_list[i][j] = my_2d_list[i][j] * 2
print(my_2d_list)

このコードを実行すると、二次元リスト内の各要素が2倍された新しい二次元リストが出力されます。

○辞書に対するfor文の使い方

辞書とは、キーと値のペアを格納するデータ構造です。

for文を用いると、辞書内のキーや値に対して簡単に操作を行うことができます。

□サンプルコード7:辞書のキーを出力

下記のサンプルコードでは、辞書のキーのみを出力するプログラムを紹介します。

my_dict = {"apple": 100, "banana": 200, "cherry": 300}
for key in my_dict:
    print(key)

このコードを実行すると、辞書のキーが順に出力されます。

□サンプルコード8:辞書の値を出力

次に、辞書の値を出力するプログラムを紹介します。

my_dict = {"apple": 100, "banana": 200, "cherry": 300}
for value in my_dict.values():
    print(value)

このコードを実行すると、辞書の値が順に出力されます。

□サンプルコード9:辞書のキーと値を出力

最後に、辞書のキーと値のペアを出力するプログラムを紹介します。

my_dict = {"apple": 100, "banana": 200, "cherry": 300}
for key, value in my_dict.items():
    print(key, value)

このコードを実行すると、辞書のキーと値のペアが順に出力されます。

●for文の注意点と対処法

Pythonのfor文を使う上で、注意すべき点はいくつかあります。

①ループ中にリストの要素を変更しない

for文でリストをループしている最中に、そのリストの要素を追加したり削除したりすると、予期しない結果を生じる可能性があります。

このような操作が必要な場合は、リストのコピーを作成してからループするか、while文を使うなどの対処法があります。

②無限ループに注意する

特にwhile文を使用する場合、ループ条件が常に真であると無限ループになります。

これを防ぐためには、ループ条件が偽になるような処理をループ内に組み込むことが重要です。

●for文のカスタマイズ方法

Pythonのfor文は、さまざまな方法でカスタマイズが可能です。

for文でインデックスを使用する方法を紹介します。

□サンプルコード10:for文でインデックスを使用する

下記のサンプルコードでは、enumerate関数を用いて、for文でリストの要素とそのインデックスを同時に取得する方法を紹介します。

my_list = ['apple', 'banana', 'cherry']
for i, item in enumerate(my_list):
    print(i, item)

このコードを実行すると、リストの各要素とそのインデックスが順に出力されます。

まとめ

この記事では、Pythonのfor文の使い方とその詳細な使い方、対処法、注意点、カスタマイズ方法について解説しました。

Pythonのfor文は、ループ処理を行うための基本的な構文であり、その使い方を理解することは、Pythonプログラミングの基礎を理解するために重要です。

この知識を活かして、効率的なPythonコーディングを実現しましょう。