Skip to content

探索Python列表的循环奥秘

列表循环是Python编程中一项基本且强大的技能。它允许你逐个访问列表中的元素,并对每个元素执行特定的操作。想象一下,你有一串糖葫芦,而循环就是让你从第一颗开始,依次品尝每一颗的工具。

Python 提供了两种主要的列表循环方式,让我们一起来揭开它们的神秘面纱:

方法一:直接循环,简单易懂

这种方式就像直接从糖葫芦串上取下一颗糖葫芦一样,非常直观。 你使用 for 语句,Python 会自动按顺序访问列表中的每个元素。

代码示例

python
my_list = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in my_list:
    print(fruit) # 打印每一个水果

运行结果

苹果
香蕉
橙子
葡萄

在这个例子中,fruit 变量会依次代表列表 my_list 中的每一个水果。 每次循环,print(fruit) 都会打印出当前 fruit 的值。

这种方法的优点是简单、易读,非常适合对列表中的每个元素执行相同的操作。

方法二:索引循环,灵活控制

这种方法就像你知道每一颗糖葫芦的位置(索引),然后按位置一个个地取出来。你可以通过元素在列表中的索引来访问它们。

代码示例

python
my_list = ["苹果", "香蕉", "橙子", "葡萄"]
for i in range(len(my_list)):
    print(i, my_list[i]) # 打印索引和对应水果

运行结果

0 苹果
1 香蕉
2 橙子
3 葡萄

这里,range(len(my_list)) 生成一个从 0len(my_list)-1 的整数序列,i 依次代表这些索引值。通过 my_list[i],我们可以访问列表中对应索引的元素。

range() 函数和 len() 函数的小知识

  • len() 函数:用于获取列表的长度(即列表中元素的个数)。例如,len(my_list) 的结果是 4。
  • range() 函数:用于生成一个整数序列。range(n) 生成一个从 0 到 n-1 的整数序列。range(start, stop, step) 生成一个从 start 开始,到 stop 结束(不包含 stop),步长为 step 的整数序列。

索引循环的特殊用途:修改列表元素

索引循环的一个强大之处在于,它允许你在循环过程中修改列表的元素。

例如,假设我们想把列表中的所有水果都加上 "真好吃!" 的后缀:

python
my_list = ["苹果", "香蕉", "橙子", "葡萄"]
for i in range(len(my_list)):
    my_list[i] = my_list[i] + " 真好吃!" # 修改列表元素
print(my_list)

运行结果

['苹果 真好吃!', '香蕉 真好吃!', '橙子 真好吃!', '葡萄 真好吃!']

在这个例子中,我们直接通过索引 i 修改了 my_list 中对应位置的元素。

while 循环实现列表遍历

除了 for 循环,你还可以使用 while 循环来遍历列表。

代码示例

python
my_list = ["苹果", "香蕉", "橙子", "葡萄"]
i = 0
while i < len(my_list):
    print(my_list[i])
    i += 1

运行结果

苹果
香蕉
橙子
葡萄

在这个例子中,我们使用 i 作为索引,每次循环都打印 my_list[i],然后将 i 递增 1,直到 i 大于等于列表的长度。

  • 直接循环 (for item in list):简单易用,适合对每个元素执行相同的操作。
  • 索引循环 (for i in range(len(list))):更灵活,允许你通过索引访问和修改元素。
  • while 循环:也可以实现列表遍历,但通常 for 循环更简洁。