Python - 数组练习

你好,有抱负的程序员们!我很激动能在这个激动人心的Python数组世界中成为你的向导。作为一名有着多年经验的计算机科学教师,我见证了无数学生在掌握这些概念时眼前一亮。那么,让我们深入其中,让数组变得有趣且易于理解!

Python - Array Exercises

数组是什么?

在我们进入例子之前,先从基础开始。在Python中,我们没有像其他语言中那样的内置数组数据结构。相反,我们使用列表,这是非常通用且强大的。为了我们今天的目的,我们将使用列表作为我们的“数组”。

数组(在Python中是列表)就像一个可以容纳多个项目的容器。想象一列火车,有几节车厢,每节车厢都携带一个数据片段。在编程中,数组本质上就是这样!

示例1:创建和访问数组

从一个简单的例子开始:

fruits = ["苹果", "香蕉", "樱桃", "日期"]
print(fruits[0])  # 输出:苹果
print(fruits[2])  # 输出:樱桃

在这个例子中,我们创建了一个名为fruits的数组(列表)。数组中的每个项目都有一个索引,从0开始。所以,fruits[0]给我们第一个项目,“苹果”,而fruits[2]给我们第三个项目,“樱桃”。

想象一下,就像学校里一排储物柜。如果你站在排的开始(索引0),第三个储物柜就是两步之遥(索引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]

在这里,我们执行了三个操作:

  1. 我们将索引2的值从3更改为10。
  2. 我们使用append()在数组的末尾添加了一个新的数字(6)。
  3. 我们使用remove()从数组中移除了数字2。

这就像编辑播放列表。你可以更改一首歌(修改),在末尾添加一首新歌(追加),或者移除一首不再喜欢的歌(移除)。

示例3:遍历数组

数组最强大的特性之一是能够快速处理所有项目。我们使用循环来实现:

colors = ["红色", "绿色", "蓝色", "黄色"]

# 使用for循环
for color in colors:
print(f"我喜欢{color}!")

# 使用while循环
i = 0
while i < len(colors):
print(f"索引{i}的颜色是{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"和是:{sum_array(numbers)}")  # 输出:和是: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"最大的数字是:{find_largest(numbers)}")  # 输出:最大的数字是:9

这个函数首先假设第一个数字是最大的,然后比较每个数字与当前的数字。这就像一场锦标赛,每个数字都竞争成为冠军!

练习3:反转数组

编写一个函数,反转数组中元素的位置。

def reverse_array(arr):
return arr[::-1]

original = [1, 2, 3, 4, 5]
reversed_arr = reverse_array(original)
print(f"原始数组:{original}")
print(f"反转数组:{reversed_arr}")

这使用了Python切片,步长为-1来反转数组。这就像从后向前翻阅相册!

以下是我们使用的数组方法的总结表:

方法 描述 示例
append() 在列表末尾添加一个元素 fruits.append("葡萄")
remove() 移除指定的元素第一次出现的实例 fruits.remove("香蕉")
len() 返回列表中元素的数量 len(fruits)
索引 访问或修改特定位置处的元素 fruits[0]fruits[1] = "奇异果"
切片 返回列表的一部分 fruits[1:3]fruits[::-1] 用于反转

记住,数组(Python中的列表)是编程的基础,并在无数应用程序中使用。它们就像数据结构的瑞士军刀 - 多功能,有用,而且在你的编码工具箱中是必不可少的。

当你练习这些练习时,你会发现自己在数组方面变得更加得心应手。如果它一开始没有立即让你有所领悟,不要气馁 - 学习编程是一段旅程,每向前迈出一步都是进步。继续实验,继续提问,最重要的是,继续编码!

编程快乐,未来的程序员们!愿你们的数组总是有序的,愿你们的循环只有在你们希望的时候才是无限的!

Credits: Image by storyset