Python - ループと配列
こんにちは、未来のPythonのマエストロ!今日は、Pythonの配列とループの世界を冒険するような楽しい旅に出かけます。あなたの親しみのある近所のコンピュータ先生として、私はこの冒険をたくさんの例や説明、そして途中で笑いも二、三つあるだろうとお手伝いします。だから、好きな飲み物を持って、ぐっすりとお座り、一緒に飛び込みましょう!
Pythonでは配列とは?
ループを始める前に、Pythonの配列についてちょっと思い出しましょう。Pythonでは、通常、リストを配列として使用します。リストは、異なる型のアイテムを含むコレクションです。例えば:
fruits = ["apple", "banana", "cherry", "date"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "two", 3.0, [4, 5]]
それでは、これらの配列をどのようにループするかを探ってみましょう!
Pythonのforループと配列
for
ループは、配列を反復する際の信頼できる味方です。それは、リストの各アイテムを一つずつ取り出して、あなたの個人的なアシスタントのように動くのです。それでは、実際に動きを見てみましょう:
fruits = ["apple", "banana", "cherry", "date"]
for fruit in fruits:
print(f"I love eating {fruit}!")
出力:
I love eating apple!
I love eating banana!
I love eating cherry!
I love eating date!
この例では、私たちのfor
ループは果物を愛するロボットのようです。それは、fruits
リストから各果物を取り出し、それを食べることを愛しと表現します。ループはリストのすべてのアイテムを処理した後に停止します。
実際のアナロジー
バッフェにいるところを想像してみてください(美味しそう!)。for
ループは、バッフェラインを歩きながら、料理を一つずつ取り出すあなたのようです。あなたは料理を一つも見逃さず、ラインの終わりに達するまで続けます。それは、私たちのfor
ループが配列とどのように働くかと完全に同じです!
Pythonのwhileループと配列
それでは、while
ループにも会ってみましょう。for
ループはリストを一つ一つ取り出すロボットのようだが、while
ループはより頑張り屋のショッパーのようなものです。ショッピングリストが空になるまでアイテムを買い続けるのです。それでは、どのようにwhile
ループを配列とともに使用できるか見てみましょう:
fruits = ["apple", "banana", "cherry", "date"]
index = 0
while index < len(fruits):
print(f"The fruit at index {index} is {fruits[index]}")
index += 1
出力:
The fruit at index 0 is apple
The fruit at index 1 is banana
The fruit at index 2 is cherry
The fruit at index 3 is date
この例では、index
を0で始めます。while
ループは、index
がfruits
リストの長さより小さい間続きます。ループの各回で、現在のインデックスの果物を表示し、その後、インデックスを1増やします。
何时にwhileループを使用するか
while
ループは、ループの回数が正確にわかっていない場合に非常に役立ちます。例えば、ファイルからデータを読み取ったり、ユーザー入力を待ったりする場合、while
ループは非常に役に立ちます。しかし、シンプルな配列反復の場合、for
ループは通常、よりクリーンで読みやすいです。
Pythonのforループと配列インデックス
時々、配列のアイテムだけでなく、その位置(またはインデックス)も知りたい場合があります。そんなとき、Pythonのenumerate()
関数が救援に来ます!それは、ツアーガイドのように、各アイテムを見せただけでなく、ツアーのどこにいるかも正確に教えてくれます。それでは、実際に動かしてみましょう:
fruits = ["apple", "banana", "cherry", "date"]
for index, fruit in enumerate(fruits):
print(f"Fruit number {index + 1} is {fruit}")
出力:
Fruit number 1 is apple
Fruit number 2 is banana
Fruit number 3 is cherry
Fruit number 4 is date
この例では、enumerate()
はリストの各要素に対してインデックスとアイテムの両方を提供します。表示する際にインデックスに1を足します。なぜなら、配列のインデックスは0から始まりますが、人間は通常1から数え始めるからです。
より複雑な例
私たちの知識をテストするために、少し複雑な例を作ります。辞書のリストを本のリストとして作成し、特定の著者の本を見つけるためにそれをループします:
books = [
{"title": "To Kill a Mockingbird", "author": "Harper Lee", "year": 1960},
{"title": "1984", "author": "George Orwell", "year": 1949},
{"title": "Pride and Prejudice", "author": "Jane Austen", "year": 1813},
{"title": "Animal Farm", "author": "George Orwell", "year": 1945}
]
author_to_find = "George Orwell"
print(f"Books by {author_to_find}:")
for index, book in enumerate(books):
if book["author"] == author_to_find:
print(f"{index + 1}. {book['title']} ({book['year']})")
出力:
Books by George Orwell:
2. 1984 (1949)
4. Animal Farm (1945)
この例では、for
ループとenumerate()
を使用して、本の辞書のリストを反復します。各本の著者を確認し、もし一致する場合は、その本の詳細を表示します。
まとめ
おめでとうございます!Pythonのスキルを上達させるために、配列を使ったループをマスターしました。覚えておいてください、練習は成功のみにたどり着きますので、これらのコンセプトを実験することを恐れずにやってみてください。自分の配列を作成し、それを異なる方法でループしてみてください。
以下に、私たちがカバーしたループの方法の簡易リファレンス表を示します:
ループタイプ | 使用ケース | シンタックス |
---|---|---|
Forループ | シーケンスのすべてのアイテムを反復する場合 | for item in sequence: |
Whileループ | ループを制御するための条件が必要な場合 | while condition: |
Forループとインデックス | アイテムとその位置が両方必要な場合 | for index, item in enumerate(sequence): |
コーディングを続け、学び続け、そして最も重要なのは、Pythonを楽しんでください!ハズレないように、次回バッフェに行ったときにfor
ループを思い出してしまったら、それはあなたが本当にプログラマーになっていることを意味します!
Credits: Image by storyset