Python For ループ: 反復をマスターするための簡潔なガイド

Python For ループ: 反復をマスターするための簡潔なガイド

プログラミング言語で最も興味深い概念の 1 つはループです。あなたが課題に直面していると想像してください。これは、1 から 100 まで数えるなど、単純ですが繰り返しの作業です。これを、一度に 1 つの数字ずつ手動で行うことができます。しかし、それは時間がかかり、あまり効率的ではありません。ここでプログラミングのループが登場します。

ループは、特定の条件が満たされるまで一連の命令を繰り返すことができる制御構造です。条件には、特定の繰り返し回数、データの特定の状態、または外部イベントなど、あらゆるものを指定できます。Python For ループは、ループの正確な繰り返しがわかっている場合に使用される特別な種類のループです。

Python For ループ: 反復をマスターするための簡潔なガイド

コード内でfor ループを使用すると、要素のシーケンスまたはコレクションを反復処理するプロセスが簡素化されます。これには、リスト、文字列、辞書、セット、またはPythonのその他の反復可能なオブジェクトを指定できます。

for ループを使用すると、シーケンス内の各項目のコード ブロックを実行できます。たとえば、リスト内のすべての要素を出力する必要がある場合、項目ごとに print ステートメントを記述する代わりに、for ループを使用するだけで済みます。これにより、コードがより効率的で読みやすくなり、エラーが発生しにくくなります。

for ループを書き始める前に、基本を理解する必要があります。この記事では、Python の for ループの構文、その使用時に使用される用語、およびさまざまなシナリオでの使用方法について説明します。

さあ、始めましょう!

目次

Python For ループの構文とは何ですか?

Python では、forループを使用して反復可能なオブジェクトを反復処理します。forループの基本的な構文は次のとおりです。

for variable in iterable:
    # code to execute for each item

この構文の「変数」は、反復内の現在の項目に対して選択した名前です。「Iterable」は、反復処理する項目のシーケンスまたはコレクションです。

ここでは「# 各項目に対して実行するコード」として示されているループ内のコードは、反復可能な項目ごとに実行するアクションです。

以下の例は、Python の基本的な for ループを示しています。

cities = ['New York', 'London', 'Paris', 'Tokyo']

for city in cities:
    print(city)

上の例では、「city」が変数で、「cities」が反復可能です。ループ内のコードは print(city) で、リスト内の各都市を出力します。

Python For ループ: 反復をマスターするための簡潔なガイド

Python の反復可能オブジェクトと反復可能オブジェクト

ループを操作するときに理解しておくべきもう 1 つの重要な概念は、反復可能および反復可能オブジェクトの概念です。

Python では、反復可能とは、要素を一度に 1 つずつ返すことができるオブジェクトです。これは、ループのようなメソッドを使用して反復可能なオブジェクトを通過できることを意味します。

遭遇する反復可能なオブジェクトの一般的な例には、リスト文字列タプル辞書などがあります。

たとえば、[1、2、3、4、5] のような数値のリストを作成する場合、リスト内の各数値を反復処理できます。各数値は反復可能リストの要素です。

同様に、「hello」などの文字列がある場合は、文字列内の各文字を反復処理できます。この場合、文字列は反復可能であり、各文字 ('h'、'e'、'l'、'l'、'o') は反復可能の要素です。

以下に、さまざまな反復可能オブジェクトでforループを使用する例をいくつか示します。

1. Python For ループを使用したリストのループ

Python では、リストは、順序付けられた項目のコレクションを保持できるデータ構造の一種です。つまり、整数、浮動小数点数、文字列、さらには他のリストや複雑なオブジェクトなど、あらゆる種類のオブジェクトを格納できることを意味します。

for ループを使用してリストをループするには次のコードを使用できます。

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

このコードは、以下に示すように、フルーツのリスト内のすべてのフルーツを出力します。

Python For ループ: 反復をマスターするための簡潔なガイド

2. Python For ループを使用したタプルのループ

Python のタプルは、順序付けされた不変のオブジェクトのコレクションです。これは、タプルが作成されると、その内容を変更できないことを意味します。

for ループを使用してタプルを調べるには、次の Python コードを使用できます。

colors = ('red', 'green', 'blue')

for color in colors:
    print(color)

for ループはタプルのすべての要素を調べて、以下の図に示すように画面に出力します。

Python For ループ: 反復をマスターするための簡潔なガイド

3. Python For ループを使用した辞書のループ

Python の辞書、キーと値として格納される順序のないデータのコレクションです。これは、キーと値のペアとも呼ばれます。

for ループを使用して辞書をループするには、次の Python コードを使用できます。

student = {'name': 'John', 'age': 24, 'course': 'Computer Science'}

for key, value in student.items():
    print(key, value)

for ループは、辞書内のすべてのキーと値のペアを反復処理し、以下に示すように画面に出力します。

4. Python For ループを使用した文字列のループ

Python の文字列は文字のシーケンスです。Python では文字列を使用して、テキスト情報と任意のバイトの集合 (画像ファイルの内容など) を記録します。

Python で for ループを使用して文字列をループするには、以下のコードを使用できます。

greeting = "Hello, world!"
for char in greeting:
    print(char)

for ループは、以下に示すように、文字列内のすべてのアルファベットを画面に出力します。

Python For ループ: 反復をマスターするための簡潔なガイド

上記の例は、さまざまなデータ型を反復処理するときにループがどのように役立つかを示しています。ループ内で関数とステートメントを使用して、for ループの機能を制御することもできます。

次のセクションでは、for ループで頻繁に使用されるいくつかの主要な関数とステートメントを見てみましょう。

Python For ループの主要な関数とステートメント

for ループを使用する場合、関数とステートメントを使用すると、ループの制御が向上し、コードがより効率的で読みやすくなります。

for ループで使用される主要な関数とステートメントを以下にリストします。

1. Python For ループで Range() 関数を使用する方法

range ()関数を使用すると、一連の数値を生成できます。通常、指定した回数だけ繰り返すために使用されます。

基本的な構文は次のとおりです。

for i in range(start, stop, step):
  # your code here
  • start : 開始点を指定するオプションのパラメータ。デフォルトでは 0 です。

  • stop : エンドポイントを定義する必須パラメータ (排他的)。

  • step : 増分を示すオプションのパラメータ。デフォルト値は 1 です。

range 関数を明確に理解するために、for ループで range 関数を使用して 1 から 5 までの数値を出力する以下の例を見てください。

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

Python For ループ: 反復をマスターするための簡潔なガイド

2. Python For ループで Break ステートメントを使用する方法

Breakステートメント使用すると、特定の条件が満たされたときに for ループを終了できます。ループ本体内でBreakキーワードに到達すると、ループは直ちに停止します。

以下は、break ステートメントを含む for ループの例です。

for i in range(10):
  if i == 5:
    break
  print(i)

Python For ループ: 反復をマスターするための簡潔なガイド

このコードは 0 から 9 まで実行されるループです。現在の数値が 5 の場合は、 Break を使用してループを直ちに停止します。したがって、0 から 4 までの数字のみが出力されます。5 に達すると停止し、それ以上の数字は出力されません。

3. Python For ループで Continue ステートメントを使用する方法

continueステートメント、現在の反復をスキップして次の反復にジャンプするために使用されます。

以下は、for ループを使用した continue ステートメントの例です。

for i in range(5):
  if i == 3:
    continue
  print(i)

ループは 0 から 4 まで繰り返します。現在の番号が 3 の場合は、continueを使用してその繰り返しのループの残りを完了する前にそれをスキップします。これは、3 を除く 0 から 4 までのすべての数字を出力することを意味します。

Python For ループ: 反復をマスターするための簡潔なガイド

上の画像では、 Continueステートメントにより数値 3 がスキップされていることに注目してください。

4. Pass ステートメントの使用方法

passステートメントは意図的に何もしないプレースホルダーです。これは、ループ構造が必要だが、その中で実行する特定のコードがまだない場合に使用できます。

以下は、 for ループを使用したpassステートメントの例です。

for i in range(5):
  pass

passステートメントは将来のコードのプレースホルダーであるため、このループは何も出力しません。ループは柔軟で、コードのelseブロックでループを使用するなど、あらゆるユースケースに合わせて調整できます。

for ループを実際に練習したい場合は、次のビデオをチェックしてください。

for ループを書き始めると、最終的には for ループの高度なテクニックに飛びつきたくなるでしょう。高度なテクニックの知識があれば、ほぼすべてのユースケースでより効率的な for ループを作成できるようになります。

次のセクションでは、for ループの高度なテクニックをいくつか見てみましょう。

Python for ループを使用した 3 つの高度なテクニック

Python プログラマーは、多くの場合、リストや文字列などの項目のコレクションを扱い、各項目に対して操作を実行する必要があります。これらの操作を実行するには、for ループの高度なテクニックについて基本的に理解している必要があります。

このセクションでは、Python で for ループを使用するための高度なテクニックをいくつか見ていきます。ネストされたループ、リスト内包表記、および enumerate() 関数について説明します。

1. 入れ子になった Python For ループの使用方法

行列やリストのリストなど、複数の次元のデータをループする必要がある場合があります。このような場合は、別のループの中にループを配置するネストされたループを使用できます。ネストされたループを使用すると、データの複数の次元を効果的に走査できます。

以下は、ネストされた for ループの例です。

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for val in row:
        print(val, end=' ')
    print()

このコードでは、ネストされたループを使用して行列内の各数値を出力します。外側のループは各行を処理し、内側のループはその行の各数値を処理します。

各行を出力した後、新しい行を開始します。つまり、行列全体を行ごとに出力します。

Python For ループ: 反復をマスターするための簡潔なガイド

2. Python For ループを使用してリストを理解する方法

既存のリストまたはその他の反復可能リストに基づいて新しいリストを作成する場合は、リスト内包表記を使用できます。これを使用すると、反復可能な各項目に式を適用することにより、すべて 1 行のコードで新しいリストを作成できます。

リスト内包表記の一般的な構文は次のとおりです。

[expression for variable in iterable if condition]

数値範囲の正方形のリストを作成したいとします。次のリスト内包表記を使用できます。

squares = [x ** 2 for x in range(1, 11)]
print(squares)

このコードは、1 行のコードを使用して、1 から 10 までの数字の正方形のリストを作成します。

Python For ループ: 反復をマスターするための簡潔なガイド

3. Enumerate() 関数の使用方法

リストまたは文字列をループしていて、現在の項目のインデックスを知る必要がある場合は、 enumerate () 関数を使用します。各項目をそのインデックスとともに返すため、項目の位置の処理が容易になります。

以下は、for ループを使用した列挙関数の例です。

fruits = ['apple', 'banana', 'cherry']

for idx, fruit in enumerate(fruits):
    print(f"{idx}: {fruit}")

このコードでは、果物のリストをループしていますが、リスト内の各項目をそのインデックスとともに返すenumerate関数を使用して各項目のインデックスも追跡しています。

したがって、ループの各反復では、idx がインデックスであり、fruit が項目になります。次に、インデックスを出力し、続いてフルーツを出力します。これにより、果物の番号付きリストが得られます。

Python For ループ: 反復をマスターするための簡潔なガイド

for ループの高度なテクニックを学習したので、さまざまなシナリオを処理する際にループがいかに柔軟であるかを理解できるようになります。ただし、他のツールと同様に、それをいつ使用するべきか、また、いつ別のツールの方が適しているかを知ることが重要です。

これを念頭に置いて、for ループと while ループの比較に焦点を移しましょう。これは、特定のコーディング状況に最適なループのタイプを判断するのに役立ちます。

For ループと While ループ

Python では、forループとwhile ループは異なる目的を果たします。

forループは、リストやタプルなどのシーケンスを反復するために使用され、明確な反復範囲があります。

一方、whileループは、特定の条件が true である限り実行を続けます。

# For loop example
for item in sequence:
    # Code to execute for each item in sequence

# While loop example
while condition:
    # Code to execute while condition is true

0 から始まる最初の 5 つの数値を出力するとします。

for ループを使用すると、次のように記述できます。

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

この場合のように、5 つの数値を出力することがわかっている場合のように、正確な反復回数が事前にわかっている場合、for ループは簡単です。

一方、while ループを使用すると、次のようになります。

i = 0
while i < 5:
    print(i)
    i += 1

while ループでは、初期条件 (i < 5) から開始します。ループは、条件が真でなくなるまで実行され続けます。ループの本体でi をインクリメントする必要があります。そうしないと、ループが永久に実行されてしまいます。

Python For ループ: 反復をマスターするための簡潔なガイド

このタスクでは、for ループの方が単純でエラーが発生しにくくなります。ただし、while ループは、反復回数が事前にわからない状況に対して、より高い柔軟性を提供します。

たとえば、ユーザーが有効な数値を入力するまで入力を求めるシナリオを考えてみましょう。何回質問しなければならないかわからないため、この場合は while ループが適切です。

while True:
    user_input = input("Please enter a number: ")
    if user_input.isdigit():
        print("Thank you!")
        break
    else:
        print("Invalid input. Try again.")

Python For ループ: 反復をマスターするための簡潔なガイド

このコードでは、while ループは、有効な数値を入力するまでユーザーに入力を求め続けます。isdigital() 関数は、入力が数値であるかどうかを確認します。

存在する場合、メッセージが出力され、break ステートメントを使用してループが終了します。数値でない場合は、エラー メッセージが出力され、ループが続行されます。

最終的な考え

for ループは、プログラミング ツールボックスに不可欠なツールです。これらは、反復的なタスクを効率的に実行する方法を提供します。for ループを理解すると、わずか数行のコードでデータを操作し、タスクを自動化し、複雑な問題を解決できるようになります。

for ループをマスターすると、コードをより読みやすく、より効率的に、より Python らしくすることができます。この構造に慣れるための鍵は練習です。このガイドから得た知識があれば、Python for ループを使用してさまざまなプログラミングの課題に取り組む準備が整っています。


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて