# ネストされたfor文
for i in range(3):
for j in range(2):
print(f"i: {i}, j: {j}")
動作解説
外側のループが1周するごとに、内側のループが完全に実行されます。
例では、iとjのすべての組み合わせが出力されます。
2. for文でのリストの操作
2.1 リストを繰り返し処理する
リストの各要素をfor文で順に処理することができます。
# リストの繰り返し処理
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
動作解説
fruitsリストの各要素が順にfruitに代入されます。
リストのすべての要素が1つずつ出力されます。
2.2 enumerateを使ったループ
enumerate関数を使うと、リストの要素とそのインデックスを同時に取得できます。
# enumerateを使用
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
動作解説
enumerate: インデックスと要素をタプルとして返します。
ループ内でインデックスと要素を同時に処理することが可能です。
3. 実践例:for文を活用したプログラム
リスト内の数値を2倍にして新しいリストを作成するプログラムを作成します。
# 実践例: リスト内包表記を使用
numbers = [1, 2, 3, 4, 5]
doubled = [n * 2 for n in numbers]
print(doubled) # 出力: [2, 4, 6, 8, 10]
動作解説
[n * 2 for n in numbers]: リスト内包表記を使用して各要素を2倍にします。
結果は新しいリストとして生成されます。
4. 練習問題
以下の課題に挑戦してみましょう。
1から10までの数値を繰り返し処理し、偶数のみを出力するプログラムを作成してください。
リスト内の文字列をすべて大文字に変換し、新しいリストとして作成するプログラムを作成してください。
5. 練習問題の解答と解説
問1の解答例
# 偶数のみを出力
for num in range(1, 11):
if num % 2 == 0:
print(num)
問2の解答例
# 文字列を大文字に変換
words = ["hello", "world", "python"]
uppercase_words = [word.upper() for word in words]
print(uppercase_words) # 出力: ['HELLO', 'WORLD', 'PYTHON']