Python - 陣列練習
你好,有抱負的程式設計師!很高興能夠在這個令人興奮的Python陣列世界之旅中成為你的導遊。作為一位擁有多年經驗的計算機科學老師,我見過無數學生在掌握這些概念時眼中閃耀著理解的光芒。那麼,讓我們一起深入探索,讓陣列變得有趣且容易理解!
什麼是陣列?
在我們進入示例之前,先從基礎開始。在Python中,我們沒有像其他一些語言那樣內建的陣列數據結構。相反,我們使用極其多用途和強大的列表。為了我們今天的目的,我們將使用列表作為我們的「陣列」。
陣列(在Python中是列表)就像一個可以容納多個項目的容器。想像一列火車帶有幾節車廂,每節車廂都帶有一個數據片段。這基本上就是程式設計中的陣列!
示例1:創建和訪問陣列
讓我們從一個簡單的例子開始:
fruits = ["apple", "banana", "cherry", "date"]
print(fruits[0]) # 輸出:apple
print(fruits[2]) # 輸出:cherry
在這個例子中,我們創建了一個名為fruits
的陣列(列表)。陣列中的每個項目都有一個索引,從0開始。所以,fruits[0]
給我們第一個項目「apple」,fruits[2]
給我們第三個項目「cherry」。
把它想像成學校裡一排locker。如果你站在排的開頭(索引0),第三個locker將是兩步之遙(索引2)。
示例2:修改陣列
陣列是可變的,這意味著我們可以在創建後更改它們。讓我們看看如何操作:
numbers = [1, 2, 3, 4, 5]
numbers[2] = 10
print(numbers) # 輸出:[1, 2, 10, 4, 5]
numbers.append(6)
print(numbers) # 輸出:[1, 2, 10, 4, 5, 6]
numbers.remove(2)
print(numbers) # 輸出:[1, 10, 4, 5, 6]
在這裡,我們進行了三個操作:
- 我們將索引2的值從3更改為10。
- 我們使用
append()
在陣列的末尾添加了一個新的數字(6)。 - 我們使用
remove()
從陣列中刪除了數字2。
這就像編輯播放清單。你可以更改一首歌(修改),在末尾添加一首新歌(追加),或刪除一首你不再喜歡的歌(刪除)。
示例3:循環遍歷陣列
陣列最強大的功能之一是能夠快速處理所有項目。我們使用循環來實現這一點:
colors = ["red", "green", "blue", "yellow"]
# 使用for循環
for color in colors:
print(f"I love {color}!")
# 使用while循環
i = 0
while i < len(colors):
print(f"Color at index {i} is {colors[i]}")
i += 1
在第一個循環中,我們說「我愛」每種顏色。這就像走進你的衣櫥,稱讚每一件衣服。
第二個循環使用了一種不同的方法。我們手動增加我們的索引(i
),並在達到陣列末尾時停止。這就像在博物館漫步時計數你的步驟。
練習程序
現在我們已經涵蓋了基礎知識,讓我們嘗試一些練習來加強我們所學的知識。記住,練習成就完美!
練習1:陣列元素之和
編寫一個程序,計算數字陣列中所有元素的和。
def sum_array(arr):
total = 0
for num in arr:
total += num
return total
numbers = [1, 2, 3, 4, 5]
print(f"The sum is: {sum_array(numbers)}") # 輸出:The sum is: 15
這個函數遍歷陣列中的每個數字,並將其添加到運行總計中。這就像計算你存錢罐中的所有硬幣一樣!
練習2:查找最大的元素
創建一個函數,查找陣列中的最大元素。
def find_largest(arr):
if len(arr) == 0:
return None
largest = arr[0]
for num in arr:
if num > largest:
largest = num
return largest
numbers = [3, 7, 2, 8, 1, 9, 5, 4]
print(f"The largest number is: {find_largest(numbers)}") # 輸出:The largest number is: 9
這個函數首先假設第一個數字是最大的,然後將每個數字與當前的最大數字進行比較。這就像一場錦標賽,每個數字都競爭成為冠軍!
練習3:反轉陣列
編寫一個函數,反轉陣列元素的順序。
def reverse_array(arr):
return arr[::-1]
original = [1, 2, 3, 4, 5]
reversed_arr = reverse_array(original)
print(f"Original array: {original}")
print(f"Reversed array: {reversed_arr}")
這使用了Python切片,步長為-1來反轉陣列。這就像從後向前翻閱一 本攝影冊一樣!
以下是我們使用的陣列方法的摘要表:
方法 | 描述 | 示例 |
---|---|---|
append() |
將元素添加到列表的末尾 | fruits.append("grape") |
remove() |
刪除指定的元素的第一個出現 | fruits.remove("banana") |
len() |
返回列表中的元素數量 | len(fruits) |
索引 | 存取或修改特定位置的元素 |
fruits[0] 或 fruits[1] = "kiwi"
|
切片 | 返回列表的一部分 |
fruits[1:3] 或 fruits[::-1] 用於反轉 |
記住,陣列(Python中的列表)是程式設計中的基礎,並在無數應用中被使用。它們就像數據結構的瑞士軍刀 - 多功能、實用且對於編程工具包來說是必需的。
當你練習這些練習時,你會發現自己對陣列越來越熟悉。如果一開始沒有立刻領悟,不要氣餒 - 學習編程是一段旅程,每前進一步都是進步。繼續實驗,繼續提問,最重要的是,繼續編程!
編程愉快,未來的程式設計師們!願你的陣列永遠排序,你的循環只有在你想讓它們無窮的時候才是無窮的!
Credits: Image by storyset