🐣 はじめに:多重ループって難しそう?
Pythonを学び始めたばかりのころ、「for文の中にfor文を入れる多重ループ」が出てきて混乱したこと、ありませんか?
私も最初は、「どっちを外側に書けばいいの?」「何回ループするのか、わけがわからない…」と迷ってばかりでした。
この記事では、Python初心者の目線で、多重ループの基本から、ループの順番の考え方まで、やさしく・図解つきで解説します。
🔁 多重ループとは?
多重ループとは、ループの中にもう一つループがある状態のことです。例えばこんなコード:
for i in range(3):
for j in range(2):
print(i, j)
このコードは、以下のように i=0
のときに j=0,1
を回し、i=1
のときも j=0,1
… というように、外側のループが1回動くたびに、内側のループが全部動く仕組みです。
🧩 どちらを外側にすべき?迷ったときの考え方
私が最初に迷ったのがこれです。
例えば、「単語リスト c
の各要素が、文リスト s
のどれかに含まれているか」を調べるプログラムを書きたいとします。
c = ["dog", "cat"]
s = ["I have a dog", "Cats are cute"]
✅ 正しいループの順番
for c_word in c:
for s_word in s:
if c_word in s_word:
print("YES")
else:
print("NO")
ポイント:
主語(基準)になる方を外側にする。「cの単語それぞれについて、sに含まれているか確認したい」なら c
を外側に!
📊 図で理解しよう
チェックする単語 (c_word) | 文 (s_word) | 結果 |
---|---|---|
“dog” | “I have a dog” | YES |
“dog” | “Cats are cute” | NO |
“cat” | “I have a dog” | NO |
“cat” | “Cats are cute” | NO |
🧠 応用:逆パターンにするとどうなる?
もし s
を外側にしたらどうなるでしょう?
for s_word in s:
for c_word in c:
if c_word in s_word:
print("YES")
else:
print("NO")
これは「文sの中にどの単語が含まれているか」を調べたい場合に使います。
🛠️ 実際に手を動かそう(練習問題つき)
簡単な練習問題です。
- 単語リスト
keywords = ["apple", "banana"]
- 文リスト
texts = ["I like apple pie", "Banana is yellow"]
このとき、各キーワードが各文に含まれているかをチェックするコードを書いてみましょう!
💻 一人で学ぶのが不安なあなたへ
Pythonの基礎を身につけるなら、プロのサポート付きの講座や動画学習も心強い味方になります。
🧑🏫 TechAcademy(テックアカデミー)
TechAcademyのPythonコース は、マンツーマンのサポートで、初心者でも安心してPythonを学べます。
📺 Schoo(スクー)
Schoo(スクー) は、動画でサクッと学びたい人向け。ライブ配信や見逃し視聴も可能です。
📌 まとめ:ループ順のコツを身につけよう
- ループの外側は「基準」にしたい対象
- 内側は「比較・調査したい対象」
- 図でイメージをつかむとスッキリ!
Python学習において、ループの順番に迷わなくなることは大きな自信になります。
マンツーマンサポートで深く学ぶなら TechAcademyのPythonコース 、
気軽にスタートしたいなら Schoo(スクー) がぴったりです。
あなたのPython学習が、より楽しく、スムーズになりますように🍀