迭代与循环
在本章中,我们将探讨 Python 中的迭代和循环。
循环在计算机编程中用于自动化重复性任务。
Python中的循环类型
在Python中,有两种类型的循环。
for循环
在Python中,最常见的迭代形式是“for”循环。
for循环用于遍历一系列项目。
创建for循环的一般语法如下:
1for index in sequence: 2 statement
其中, 序列可以是列表、元组、字典、集合或字符串。
注意: for循环不需要预先设置迭代/索引变量。索引可以在循环中定义。
遍历列表
for循环允许你遍历列表中的所有元素,从而对每个元素执行你想要的操作。
例如,我们创建一个列表并打印每个元素的平方值。
1for value in [0, 1, 2, 3, 4, 5]: 2 print(value * value)
这非常简单但功能强大!for循环是编程中许多功能的基础。例如,你已经知道sum(list)函数可以求出列表中所有元素的和,下面是一个使用for循环的示例:
1mylist = [1,5,7] 2sum = 0 3for value in mylist: 4 sum = sum + value 5print(sum)
基本上,你创建了一个名为sum的变量,并逐个将列表中的每个值累加进去。
使用range进行循环
range()函数允许你指定次数来循环执行一段代码。range(n)函数返回一个从0开始(默认)、每次递增1(默认),直到指定数字n减1为止的数字序列。
1for x in range(6): 2 print(x)
有时,你可能需要处理的是索引而不是列表中的值;也就是说,不是处理值本身,而是处理它们在列表中的位置。以下是一个遍历列表并同时输出每个索引及其对应值的例子:
1mylist = [1,5,7] 2for i in range(len(mylist)): 3 print ("Index:", i, "Value:", mylist[i])
注意: 你可以看到,我们并不是直接遍历列表本身,而是遍历列表长度的“range”。
range函数返回一个特殊的序列。
因此,当你使用range时,实际上并不是在遍历mylist;而是在遍历一个包含一些数字的序列,这些数字将被用作索引来访问mylist中的各个元素。
关于range函数的更多信息,请参阅Python文档。
使用enumerate进行循环
有时你可能既需要索引又需要值,这时可以使用enumerate函数:
1mylist = [1, 5, 7] 2 3for i, value in enumerate(mylist): 4 print("Index:", i, "Value:", value)
注意: Python列表的第一个元素始终位于索引0,之后的索引依次递增。
遍历字符串
字符串包含一系列字符,因此也可以进行遍历。
1for x in "Full Speed Python": 2 print(x)
while循环
最后,我们还有while语句,它允许我们在某个条件为真时重复执行一系列指令。
创建while循环的一般语法如下:
1while(condition): 2 statement
例如,下面的例子从n = 10开始,只要n大于0,就不断将n减去1。当n变为0时,条件n > 0不再成立,循环结束:
1n = 10 2while n > 0: 3 print(n) 4 n = n-1
注意,这里永远不会打印0。
现在你已经理解了Python中“迭代与循环”的概念,接下来可以通过后续练习检验你的掌握情况,然后再进入“字典”章节的学习。