一、For循环的基本语法
for i in range(start, end, step):
# 循环体
对于Python的For循环,其基本的语法非常简单。使用关键字for
,接下来加上一个循环变量i
,然后使用in
关键字与一个集合相连,这个集合可以是列表、元组、字符串等容器类型。最后用英文冒号:
结束这一行,下一行则是循环体语句,在这里要注意,Python强制使用缩进进行代码块划分。当程序在执行到for
这一行时,它会将集合中的每一个元素依次赋值给循环变量i
,并执行循环体代码,当集合中的元素全部遍历一遍后,整个循环结束。
其中range(start, end, step)
是Python中常用的内置函数。第一个参数是起始值,第二个参数是终止值,不包含终止值,第三个参数是步长。例如,range(0,10,2)
可以生成一个从0到10(不包含10)的序列,步长为2,即序列为0,2,4,6,8。
二、在循环中使用break和continue
在For循环中,也可以使用break
和continue
关键字来改变程序的执行流程。
break
的作用是立即结束整个循环,直接跳出循环体。
for i in range(5):
if i == 3:
break
print(i)
上面的代码使用For循环遍历序列range(5)
,一旦i
的值等于3,就立即结束循环。在控制台中,会输出0,1,2。
continue
的作用是跳过本次循环,直接执行下一次循环。
for i in range(5):
if i == 3:
continue
print(i)
上面的代码使用For循环遍历序列range(5)
,一旦i
的值等于3,就跳过这一次循环。在控制台中,会输出0,1,2,4。
三、在For循环中使用else
Python中唯一的一种配合For循环的else
语句,是在循环完整个序列后(或者遍历一个空序列后)执行,如果循环中使用了break
关键字,else
语句将不会执行。以下代码演示了For循环是如何配合else
语句使用的:
for i in range(5):
if i == 3:
break
else:
print('循环结束')
上面的代码当i
的值等于3时,For循环执行break
语句跳出循环,因此else
语句不会执行。如果break
关键字被注释掉,就会在控制台中输出“循环结束”。
四、在For循环中使用zip函数并行遍历多个列表
有时候需要同时遍历多个列表,比如下面这个例子:
list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]
list3 = ['A', 'B', 'C']
for i in range(len(list1)):
print(list1[i], list2[i], list3[i])
上面代码用i
作为循环变量遍历了list1,然后使用索引i
访问其他两个列表中的元素。输出结果为:
a 1 A
b 2 B
c 3 C
这种方式不太优雅,也容易出错,如果列表元素个数不同不好处理。为此,Python提供了一个zip
函数,可以将多个列表中的元素并行遍历出来,如下所示:
list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]
list3 = ['A', 'B', 'C']
for a, b, c in zip(list1, list2, list3):
print(a, b, c)
上面的代码使用zip
函数并行遍历了三个列表中的元素,并将它们组装成了一个元组。输出结果与上面的方法相同,但是代码更加简洁可读。
五、使用enumerate函数来获取序列元素的索引
在遍历一个序列时,有时候需要访问序列元素本身以及其索引。在这种情况下,使用Python提供的enumerate
函数可以轻松地实现这一目标,如下所示:
myList = ['apple', 'banana', 'cherry']
for index, value in enumerate(myList):
print(index, value)
上面的代码中,使用enumerate
函数获取了列表myList
的元素及其索引。在循环体中可以使用index
和value
两个变量表示元素索引和元素本身。输出结果如下所示:
0 apple
1 banana
2 cherry
六、循环嵌套
循环嵌套指的是在一个For循环中再嵌套另一个For循环,以此类推。循环嵌套在很多场合下都是比较常见的编程模式。如下面的代码演示了两个For循环嵌套的情况:
for i in range(1, 6):
for j in range(1, i+1):
print("*", end="")
print("")
上面的代码中,第一个For循环控制行数,第二个For循环控制行中的每一个星号(*)的个数,并以每一行结束时的换行符作为分隔。在控制台中输出如下效果:
*
**
***
****
*****
七、总结
For循环是Python编程中经常使用的一种结构,具有简单明了的语法和性能优异的特点。在开发实践中,也有很多常用的技巧和操作,比如break
和continue
关键字、else
语句、zip
函数和enumerate
函数等。熟练掌握For循环的语法和用法,可以帮助我们更加高效地编写Python程序。