Python - 陣列循環

你好啊,未來的 Python 大師!今天,我們將踏上一段令人興奮的旅程,穿過 Python 陣列和循環的世界。作為你友善的鄰居電腦老師,我將引導你通過這次冒險,並提供許多例子、解釋,也許還會有兩三個笑聲。所以,拿起你最喜歡的飲料,舒服地坐著,讓我們一起深入探險吧!

Python - Loop Arrays

Python 中的陣列是什麼?

在我們開始循環之前,先快速回憶一下 Python 中的陣列。在 Python 中,我們通常使用列表來表示陣列。列表是一系列項目的集合,這些項目可以是不同類型的。例如:

水果 = ["蘋果", "香蕉", "櫻桃", "日期"]
數字 = [1, 2, 3, 4, 5]
混合 = [1, "二", 3.0, [4, 5]]

現在我們已經弄清楚了這些,讓我們來看看如何循環這些陣列!

Python 用於陣列的 for 循環

for 循環是當你想要迭代陣列時的可信側翼。它就像是一個個人助理,一次走過列表中的每一個項目。讓我們看看它是如何運作的:

水果 = ["蘋果", "香蕉", "櫻桃", "日期"]

for fruit in 水果:
print(f"我喜歡吃 {fruit}!")

輸出:

我喜欢吃 蘋果!
我喜欢吃 香蕉!
我喜欢吃 櫻桃!
我喜欢吃 日期!

在這個例子中,我們的 for 循環就像是一個愛吃水果的機器人。它從 水果 列表中拿起每個水果,並表達它對吃這些水果的喜愛。循環繼續進行,直到它走過列表中的所有項目。

一個真實世界的類比

想象你在一個自助餐(好好吃哦!)。for 循環就像是你沿著自助餐線走,一次拿起每一道菜。你不會跳過任何一道菜,並且當你到达線的尾端時就會停止。這正是我們的 for 循環與陣列工作的方式!

Python 用於陣列的 while 循環

現在,讓我們來認識 while 循環。如果 for 循環是像機器人一樣 methodically 走過一個列表,那麼 while 循環就更像是一個堅持購物的購物者,直到購物清單為空才停止購買。讓我們看看我們如何用 while 循環與陣列一起使用:

水果 = ["蘋果", "香蕉", "櫻桃", "日期"]
索引 = 0

while 索引 < len(水果):
print(f"索引 {索引} 的水果是 {水果[索引]}")
索引 += 1

輸出:

索引 0 的水果是 蘋果
索引 1 的水果是 香蕉
索引 2 的水果是 櫻桃
索引 3 的水果是 日期

在這個例子中,我們從 索引 0 開始。只要 索引 小於我們的 水果 列表的長度,while 循環就會繼續。每次循環時,我們都打印當前索引的水果,然後將索引增加 1。

何時使用 while 循環

當你不確定需要循環多少次時,while 循環非常棒。例如,如果你正在從文件中讀取數據或等待用戶輸入,while 循環可以非常有用。但是,對於簡單的陣列迭代,for 循環通常更乾淨、更容易閱讀。

Python 用於陣列索引的 for 循環

有時,你需要的不仅仅是陣列中的項目,還需要它的位置(或索引)。Python 的 enumerate() 函數來拯救!它就像是一個導遊,不僅向你展示每個項目,還告訴你 exactly 你在旅遊中的位置。讓我們看看它是如何運作的:

水果 = ["蘋果", "香蕉", "櫻桃", "日期"]

for 索引, fruit in enumerate(水果):
print(f"水果編號 {索引 + 1} 是 {fruit}")

輸出:

水果編號 1 是 蘋果
水果編號 2 是 香蕉
水果編號 3 是 櫻桃
水果編號 4 是 日期

在這個例子中,enumerate() 給我們每個列表元素的索引和項目。我們在打印時將索引加 1,因為陣列索引從 0 開始,但人們通常從 1 開始計數。

一個更複雜的例子

讓我們把我們的知識放進一個稍微複雜一點的例子中進行測試。我們將創建一個字典列表,代表書籍,然後循環遍歷它,以找到特定作者的書籍:

書籍 = [
{"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}
]

要找的作者 = "George Orwell"

print(f"{要找的作者} 的書籍:")
for 索引, 書籍 in enumerate(書籍):
if 書籍["author"] == 要找的作者:
print(f"{索引 + 1}. {書籍['title']} ({書籍['year']})")

輸出:

George Orwell 的書籍:
2. 1984 (1949)
4. Animal Farm (1945)

在這個例子中,我們使用帶有 enumerate()for 循環來遍歷我們的書籍字典列表。我們檢查每本書的作者,如果與我們要找的作者匹配,我們就打印出書的詳細信息。

結論

恭喜你!你剛剛通過掌握陣列循環來提升你的 Python 技能。請記住,熟練才能完美,所以不要害怕實驗這些概念。嘗試創建自己的陣列,並以不同的方式循環它們。

以下是我們涵蓋的循環方法的快速參考表:

循環類型 使用情況 語法
For 循環 當你想迭代序列中的所有項目時 for item in sequence:
While 循環 當你需要條件來控制循環時 while condition:
帶索引的 For 循環 當你需要項目及其位置時 for index, item in enumerate(sequence):

繼續編碼,繼續學習,最重要的是,繼續享受 Python 的樂趣!誰知道呢?下次你 在自助餐時,你可能會想到 for 循環。那時你就知道你真的成為了一個程序員!

Credits: Image by storyset