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