for文でリストの要素を処理しよう
学習の目標
本章では、以下の内容を学習します。
- for文を使ってリストの要素を順番に処理する方法を理解する
- リスト内の数値の合計を計算する方法を習得する
- リスト内の最大値・最小値を見つける方法を学ぶ
- リストの要素を使った基本的な検索処理を理解する
はじめに
前回はfor文とrange関数を使って数値の繰り返し処理を学びました。今回は、for文をリストと組み合わせて使う方法を学んでいきましょう。
リストには複数のデータが入っているため、それらのデータを一つずつ取り出して処理したい場面がよくあります。例えば、テストの点数が入ったリストから平均点を計算したり、商品の価格リストから最も安い商品を見つけたりする場合です。
このような「リストの中身を一つずつ処理する」作業は、プログラミングでは非常によく行われる処理です。for文を使うことで、リストの要素数に関係なく効率的にデータを処理できるようになります。
リストの要素を順番に表示する
まずは、リストに入っているデータを一つずつ取り出して表示する方法から始めましょう。
VS Codeでlist_for_basic.pyというファイルを作成し、以下のコードを入力してください。
# 果物のリストfruits = ["りんご", "みかん", "バナナ", "ぶどう"]
print("果物リスト:")for fruit in fruits:    print(fruit)このコードでは、fruitsというリストの中身を一つずつ取り出しています。for fruit in fruits:という書き方により、リストの最初の要素から最後の要素まで順番にfruitという変数に代入されます。
実行すると、以下のような結果が表示されます。
果物リスト:りんごみかんバナナぶどうここで重要なのは、range関数を使わずに直接リストを指定していることです。Pythonでは、リストを直接for文で使うことで、その要素を順番に取り出すことができます。
変数名fruitは自由に決められます。リストの内容に合わせて分かりやすい名前をつけるとよいでしょう。
さらに詳しい表示をしてみましょう。同じファイルに以下を追加してください。
# 番号付きで表示print("\n番号付き果物リスト:")for fruit in fruits:    print(f"- {fruit}")実行結果は以下のようになります。
番号付き果物リスト:- りんご- みかん- バナナ- ぶどうこのように、リストの各要素に対して同じ処理を適用することができます。
リスト内の数値を合計する
次に、数値が入ったリストの合計を計算してみましょう。これは、テストの点数や売上データなど、実際のプログラムでもよく使われる処理です。
VS Codeでlist_sum.pyというファイルを作成し、以下のコードを入力してください。
# テストの点数リストscores = [85, 92, 78, 96, 88]
print("テストの点数:")for score in scores:    print(f"{score}点")まず、リストの中身を確認します。実行すると以下のような結果が表示されます。
テストの点数:85点92点78点96点88点これで5人分のテスト結果が確認できました。次に、これらの点数の合計を計算してみましょう。同じファイルに以下を追加してください。
# 合計点を計算total = 0
for score in scores:    total = total + score    print(f"現在の合計: {total}")
print(f"\n全体の合計点: {total}")このコードでは、totalという変数を0で初期化し、リストの各要素を順番に足していきます。実行結果は以下のようになります。
現在の合計: 85現在の合計: 177現在の合計: 255現在の合計: 351現在の合計: 439
全体の合計点: 439さらに平均点も計算してみましょう。同じファイルに以下を追加してください。
# 平均点を計算average = total / len(scores)print(f"平均点: {average}")len(scores)でリストの要素数(この場合は5)を取得し、合計を要素数で割ることで平均を求めています。
実行結果は以下のようになります。
平均点: 87.8リスト内の最大値と最小値を見つける
次に、リストの中から最も大きい値と最も小さい値を見つける方法を学びましょう。これも実際のプログラムでよく使われる処理です。
VS Codeでlist_max_min.pyというファイルを作成し、以下のコードを入力してください。
# 気温のデータリストtemperatures = [23, 18, 25, 19, 22, 16, 24]
print("1週間の気温データ:")for temp in temperatures:    print(f"{temp}度")まずリストの内容を確認します。実行すると以下のような結果が表示されます。
1週間の気温データ:23度18度25度19度22度16度24度次に、最高気温を見つけてみましょう。同じファイルに以下を追加してください。
# 最高気温を見つけるmax_temp = temperatures[0]  # 最初の値で初期化
for temp in temperatures:    if temp > max_temp:        max_temp = temp        print(f"新しい最高気温: {max_temp}度")
print(f"\n今週の最高気温: {max_temp}度")このコードでは、最初にリストの先頭要素をmax_tempに代入し、その後の要素と比較していきます。より大きな値が見つかるたびにmax_tempを更新しています。
実行結果は以下のようになります。
新しい最高気温: 25度
今週の最高気温: 25度同様に最低気温も見つけてみましょう。同じファイルに以下を追加してください。
# 最低気温を見つけるmin_temp = temperatures[0]  # 最初の値で初期化
for temp in temperatures:    if temp < min_temp:        min_temp = temp        print(f"新しい最低気温: {min_temp}度")
print(f"今週の最低気温: {min_temp}度")実行結果は以下のようになります。
新しい最低気温: 18度新しい最低気温: 16度今週の最低気温: 16度リスト内での検索処理
最後に、リストの中から特定の条件に合う要素を探す方法を学びましょう。
VS Codeでlist_search.pyというファイルを作成し、以下のコードを入力してください。
# 商品の価格リストprices = [1200, 800, 1500, 600, 2000, 900]
print("商品価格一覧:")for price in prices:    print(f"{price}円")まず価格リストを確認します。実行すると以下のような結果が表示されます。
商品価格一覧:1200円800円1500円600円2000円900円次に、1000円以下の商品を探してみましょう。同じファイルに以下を追加してください。
# 1000円以下の商品を探すprint("\n1000円以下の商品:")affordable_count = 0
for price in prices:    if price <= 1000:        print(f"{price}円")        affordable_count = affordable_count + 1
print(f"\n1000円以下の商品は {affordable_count}個です")このコードでは、各価格をチェックして1000円以下の場合のみ表示し、同時に該当する商品の個数もカウントしています。
実行結果は以下のようになります。
1000円以下の商品:800円600円900円
1000円以下の商品は 3個ですさらに、特定の価格の商品があるかどうかを調べてみましょう。同じファイルに以下を追加してください。
# 800円の商品があるかチェックtarget_price = 800found = False
for price in prices:    if price == target_price:        found = True        break  # 見つかったらループを終了
if found:    print(f"\n{target_price}円の商品が見つかりました")else:    print(f"\n{target_price}円の商品は見つかりませんでした")ここではbreakという新しい機能を使っています。breakは、目的の要素が見つかった時点でfor文のループを終了する命令です。大きなリストを扱う場合、必要のない検索を避けることができます。
実行結果は以下のようになります。
800円の商品が見つかりましたまとめ
本章では、for文とリストを組み合わせた処理について学習しました。 理解できた内容は以下の通りです。
- for文を使ってリストの要素を順番に処理できる
- リスト内の数値の合計や平均を計算できる
- リスト内の最大値・最小値を見つけることができる
- 条件に合う要素を検索し、カウントできる
- breakを使ってループを途中で終了できる
これらの技術を使うことで、リストに入ったデータを様々な方法で分析・処理できるようになりました。データの集計や検索は、実際のプログラム開発でも頻繁に使われる重要な処理です。
次回は、while文を使った条件付きの繰り返し処理について学んでいきましょう。
Starterプランでより詳しく学習
この先のコンテンツを読むにはStarterプラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。