Python for ループ
forPythonで最も一般的に使用されるループ文であり、反復可能オブジェクト(シーケンス、辞書、集合など)を走査するために使用されます。
PythonのforループはC/C++などの言語より簡潔で強力で、ループ変数を手動で管理する必要がなく、要素を直接走査できます。
単語の意味: for「〜のために」「〜に対して」という意味で、反復走査に使用されます。
基本構文とパラメータ
構文形式
for 变量 in 可迭代对象:
代码块
構文の説明
- 変数:各ループで反復可能オブジェクトから取り出される要素。
- 反復可能オブジェクト:リスト、タプル、文字列、辞書、集合、range など。
- インデント:ループ本体はインデントする必要があります。
else 句
- 任意:for ループには else 句を設定できます。
- 実行タイミング:ループが正常に終了した場合(break で終了しなかった場合)に実行されます。
実例
例1:リストを走査する
実例
# リストを走査
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)
# インデックス付きの走査
for i, fruit in enumerate(fruits):
print(f"{i}: {fruit}")
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)
# インデックス付きの走査
for i, fruit in enumerate(fruits):
print(f"{i}: {fruit}")
実行結果の予想:
苹果 香蕉 橙子 0: 苹果 1: 香蕉 2: 橙子
コード解析:
- for ループはリスト内の各要素を直接走査します。
- enumerate() はインデックスと値を同時に提供します。
例2:文字列とタプルを走査する
実例
# 文字列を走査
for char in "Python":
print(char, end=" ")
print() # 改行
# タプルを走査
point = (10, 20)
for value in point:
print(value, end=" ")
print()
for char in "Python":
print(char, end=" ")
print() # 改行
# タプルを走査
point = (10, 20)
for value in point:
print(value, end=" ")
print()
実行結果の予想:
P y t h o n 10 20
文字列とタプルも反復可能です。
例3:辞書を走査する
実例
# 辞書を走査(デフォルトはキーを走査)
person = {"name": "Tom", "age": 20, "city": "Beijing"}
for key in person:
print(key)
print("---")
# キーと値のペアを走査
for key, value in person.items():
print(f"{key}: {value}")
print("---")
# 値のみを走査
for value in person.values():
print(value)
person = {"name": "Tom", "age": 20, "city": "Beijing"}
for key in person:
print(key)
print("---")
# キーと値のペアを走査
for key, value in person.items():
print(f"{key}: {value}")
print("---")
# 値のみを走査
for value in person.values():
print(value)
実行結果の予想:
name age city --- name: Tom age: 20 city: Beijing --- Tom 20 Beijing
辞書の items()、keys()、values() メソッドで異なる部分を走査できます。
例4:else 付きの for ループ
実例
# for-else 構造
for i in range(3):
print(i)
else:
print("循环正常结束")
print("---")
# break 時は else は実行されない
for i in range(5):
if i == 3:
break
print(i)
else:
print("この行は出力されません")
for i in range(3):
print(i)
else:
print("循环正常结束")
print("---")
# break 時は else は実行されない
for i in range(5):
if i == 3:
break
print(i)
else:
print("この行は出力されません")
実行結果の予想:
0 1 2 循环正常结束 --- 0 1 2
for-else 構造の else は、ループが break で終了した場合は実行されません。
例5:ネストされたループ
実例
# ネストされたループ - 九九の掛け算表を出力
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={i*j}", end="\t")
print()
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={i*j}", end="\t")
print()
実行結果の予想:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ...
ネストされたループは、多次元データ構造の処理や表の生成に使用できます。
その他の拡張
Python3 ループ文