1. Pythonのfor文の基本
Pythonのfor文は、シーケンス(リストやタプル、文字列など)の各要素に対して反復処理を行うための制御構造です。基本的な構文は以下のようになります。
for item in sequence:
# do something with item
ここで、sequence
は反復処理を行いたいシーケンスを、item
はシーケンスの各要素を参照するための変数を指します。
例えば、リストの各要素を順に出力するプログラムは以下のようになります。
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
このプログラムを実行すると、1から5までの数字が順に出力されます。このように、Pythonのfor文を使うと、シーケンスの各要素に対する操作を簡単に記述することができます。。
2. for文とrange関数
Pythonのfor文と組み合わせてよく使われる関数にrange()
があります。range()
関数は、指定した範囲の数値を生成し、これをfor文で反復処理することができます。
基本的な使用方法は以下の通りです。
for i in range(n):
# do something with i
ここで、n
は生成したい数値の範囲を、i
は生成された数値を参照するための変数を指します。
例えば、0から9までの数字を順に出力するプログラムは以下のようになります。
for i in range(10):
print(i)
このプログラムを実行すると、0から9までの数字が順に出力されます。このように、range()
関数を使うと、特定の範囲の数値に対する操作を簡単に記述することができます。
また、range()
関数は開始値、終了値、ステップ数を指定することも可能です。例えば、2から20までの偶数を出力するプログラムは以下のようになります。
for i in range(2, 21, 2):
print(i)
このプログラムを実行すると、2から20までの偶数が順に出力されます。このように、range()
関数の引数を変えることで、様々な数値のシーケンスを生成することができます。.
3. for文とbreak文
Pythonのfor文では、break
文を使用してループを途中で終了することができます。break
文は、通常は条件文と一緒に使われ、特定の条件が満たされたときにループを抜け出します。
基本的な使用方法は以下の通りです。
for item in sequence:
if condition:
break
# do something with item
ここで、sequence
は反復処理を行いたいシーケンスを、item
はシーケンスの各要素を参照するための変数を、condition
はbreak
文を実行するための条件を指します。
例えば、リストの要素を順に出力し、5が出現したらループを終了するプログラムは以下のようになります。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num == 5:
break
print(num)
このプログラムを実行すると、1から4までの数字が順に出力され、5が出現した時点でループが終了します。このように、break
文を使うと、特定の条件が満たされたときにループを終了することができます。.
4. for文とcontinue文
Pythonのfor文では、continue
文を使用してループの現在の反復をスキップし、次の反復に直接進むことができます。continue
文は、通常は条件文と一緒に使われ、特定の条件が満たされたときに現在の反復をスキップします。
基本的な使用方法は以下の通りです。
for item in sequence:
if condition:
continue
# do something with item
ここで、sequence
は反復処理を行いたいシーケンスを、item
はシーケンスの各要素を参照するための変数を、condition
はcontinue
文を実行するための条件を指します。
例えば、リストの要素を順に出力し、5が出現したらその反復をスキップするプログラムは以下のようになります。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num == 5:
continue
print(num)
このプログラムを実行すると、1から4、そして6から10までの数字が順に出力され、5はスキップされます。このように、continue
文を使うと、特定の条件が満たされたときに現在の反復をスキップすることができます。.
5. for文とリスト内包表記
Pythonでは、for
文を使ってリスト内包表記(List Comprehension)を行うことができます。リスト内包表記は、リストの各要素に対して何らかの操作を行い、その結果を新たなリストとして生成するための簡潔な記法です。
基本的な使用方法は以下の通りです。
new_list = [expression for item in old_list]
ここで、old_list
は元のリストを、item
は元のリストの各要素を参照するための変数を、expression
は新たなリストの各要素を生成するための式を指します。
例えば、元のリストの各要素を2倍した新たなリストを生成するプログラムは以下のようになります。
numbers = [1, 2, 3, 4, 5]
doubled = [num * 2 for num in numbers]
print(doubled) # Output: [2, 4, 6, 8, 10]
このプログラムを実行すると、元のリストの各要素が2倍された新たなリストが出力されます。このように、リスト内包表記を使うと、リストの各要素に対する操作を簡潔に記述することができます。
また、リスト内包表記では条件文を使って特定の条件を満たす要素だけを新たなリストに含めることも可能です。例えば、元のリストの偶数要素だけを新たなリストに含めるプログラムは以下のようになります。
numbers = [1, 2, 3, 4, 5]
evens = [num for num in numbers if num % 2 == 0]
print(evens) # Output: [2, 4]
このプログラムを実行すると、元のリストの偶数要素だけが新たなリストに含まれます。このように、リスト内包表記の条件文を使うと、特定の条件を満たす要素だけを新たなリストに含めることができます。.
6. 実用的なfor文の例
Pythonのfor文は、日々のプログラミングにおいて非常に多くの場面で活用されます。以下に、実用的なfor文の使用例をいくつか示します。
1. リストの要素の合計
リストの全ての要素の合計を求めるためにfor文を使用することができます。
numbers = [1, 2, 3, 4, 5]
total = 0
for num in numbers:
total += num
print(total) # Output: 15
2. 辞書のキーと値の反復処理
辞書のキーと値を反復処理するためにfor文を使用することができます。
student_grades = {"Alice": 85, "Bob": 90, "Charlie": 92}
for name, grade in student_grades.items():
print(f"{name} scored {grade}")
3. ネストされたリストの反復処理
ネストされたリスト(リストのリスト)の要素を反復処理するためにfor文を使用することができます。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
for num in row:
print(num, end=' ')
print()
これらの例は、Pythonのfor文がどのように実際のコードで活用されるかを示しています。for文は、シーケンスの反復処理を行うための強力なツールであり、その使用方法を理解することはPythonプログラミングの重要なスキルです。.