1. for循环基础
在Python中,for循环是一种常用的控制结构,用于迭代遍历序列(比如列表、元组、字符串等)或者其他可迭代对象。
1.1 遍历列表
使用for循环遍历列表是最常见的用法之一。下面是一个示例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
运行结果:
apple
banana
cherry
在这个例子中,我们定义了一个名为fruits的列表,然后使用for循环遍历这个列表,并将每个元素赋值给变量fruit。在循环体中,我们使用print函数打印出每个水果。
1.2 遍历字符串
除了列表,我们也可以用for循环来遍历字符串。下面是一个示例:
word = "hello"
for letter in word:
print(letter)
运行结果:
h
e
l
l
o
在这个例子中,我们定义了一个名为word的字符串,然后使用for循环遍历这个字符串,将每个字符赋值给变量letter,并使用print函数打印出每个字符。
1.3 遍历数字范围
除了遍历序列或者字符串,我们还可以使用for循环遍历数字范围。range函数可以生成一个数字序列,我们可以使用它来指定for循环的迭代次数。
下面是一个示例:
for i in range(3):
print(i)
运行结果:
0
1
2
在这个例子中,我们使用range函数生成一个包含0到2的数字序列,并使用for循环遍历这个数字序列,将每个数字赋值给变量i,并使用print函数打印出每个数字。
2. for循环中的常见坑
2.1 不要在循环中修改正在遍历的序列
在使用for循环遍历序列时,千万不要在循环体中修改正在遍历的序列。这会导致意想不到的结果,并且可能引发错误。
下面是一个示例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
if fruit == "banana":
fruits.remove(fruit)
print(fruit)
运行结果:
apple
cherry
在这个例子中,我们尝试在循环中删除列表中的"banana"元素。然而,由于在循环中修改了列表,导致循环迭代出现了问题,"cherry"这个元素被跳过。
为了避免这个问题,我们可以使用一个新的列表来存储需要保留的元素,或者使用列表解析等技术来创建一个新的列表。
2.2 使用enumerate获取元素索引
有时候,我们需要在循环中获取元素的索引,可以使用enumerate函数来实现。
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, fruit)
运行结果:
0 apple
1 banana
2 cherry
在这个例子中,我们使用enumerate函数将列表中的元素和对应的索引配对,然后进行循环遍历。在循环体中,我们可以同时获得元素的索引和值,然后进行打印或其他操作。
2.3 使用break和continue控制循环
有时候,我们需要在循环过程中使用break语句来提前终止循环,或者使用continue语句跳过当前循环。
下面是一个示例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
if fruit == "banana":
break
print(fruit)
运行结果:
apple
在这个例子中,我们使用break语句在循环中遇到"banana"时提前终止循环。
类似地,我们也可以使用continue语句来跳过当前循环。下面是一个示例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
if fruit == "banana":
continue
print(fruit)
运行结果:
apple
cherry
在这个例子中,我们使用continue语句跳过了包含"banana"的循环迭代。
3. 总结
本文介绍了Python3中for循环的基础知识,并介绍了在使用for循环时遇到的一些常见问题。主要包括遍历列表、遍历字符串、遍历数字范围等基本用法,以及避免在循环中修改正在遍历的序列、使用enumerate获取元素索引以及使用break和continue控制循环的技巧。通过学习本文,相信你能更加熟练地运用for循环来处理不同的数据和场景。