循环是编程语言的基本概念之一。 循环用于执行重复任务,直到满足某个条件。
Python中有两个主循环构造,允许您重复重复一块代码,for
和while
循环。
在本文中,我们将涵盖Python中for
循环的基础知识。 我们还将向您展示如何使用 range
类型来生成一系列数字序列,else
,break
和continue
语句来改变循环的流程。
Python for
循环
Python中的for
循环迭代序列的元素,并重复执行语句块。
Python for
循环采用以下形式:
for item in sequence:
statements
for
语句从for
关键字开始,然后是一个变量(item
)来将序列的每个元素分配给(循环控制目标),然后是in
关键字,最后是序列 。 每个条件陈述以冒号结束(:
)。
statements
块以缩进开始, 大多数人选择使用4空格或2个空格缩进。 Python代码的官方样式指南建议使用每个缩进级别为4空格,避免混合使用tab和空格进行缩进。
以下是一个例子:
berries = ["Blueberry", "Raspberry", "Strawberry"]
for berry in berries:
print(berry)
Blueberry
Raspberry
Strawberry
您可以迭代任何序列,例如字符串,列表,字典或元组。
在下面的代码中,我们正在迭代字符串“Linux”中的字符:
for x in 'linux':
print(x)
l
i
n
u
x
当循环字典时,变量将分配给key:
berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}
for key in berries:
print(key)
Blueberry
Raspberry
Strawberry
要访问字典的值,请使用key的索引:
berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}
for key in berries:
print(berries[key])
循环字典的值的另一个选项是使用values()
方法:
berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}
for value in berries.values():
print(value)
两个示例的输出相同:
100
125
150
range()
构造函数
Python range()
构造函数允许您通过定义范围的开始和结束点来生成整数序列。 range()
在Python 2和3中有不同工作方式。在本文中,我们使用Python 3.
range()
通常与for
循环一起使用以迭代一系列数字。 这是一个python等效的c风格for
循环。
当仅给出一个参数时,range
返回一系列数字,递增1,从0开始,从0到argument - 1
:
for i in range(3):
print(i)
0
1
2
当提供两个参数时,range
返回一个数字序列,从第一个参数开始到second argument - 1
:
for i in range(3, 5):
print(i)
3
4
第三个参数允许您指定递增:
for i in range(0, 16, 5):
print(i)
0
5
10
15
嵌套for
循环
嵌套循环是另一个循环内的循环。 它们通常用于处理包含可识别元素的可迭代对象:
for i in range(0, 6):
for j in range(0, 6):
print('%d + %d = %d' % (i, j, i+j))
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
...
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10
break
和continue
语句
break
和continue
语句允许您控制for
循环的执行。
break
语句
break
语句终止当前循环并将程序控制传递给循环遵循的语句。 在嵌套循环中使用时,break
语句终止最内循环。
在以下示例中,我们使用if
语句来终止循环的执行,一旦当前迭代的元素等于“Raspberry”:
for i in ["Blueberry", "Raspberry", "Strawberry"]:
if i == "Raspberry":
break
print(i)
Blueberry
continue
语句
continue
语句退出循环的当前迭代并将程序控制传递给循环的下一次迭代。 循环未终止; 只跳过当前迭代。
在以下示例中,我们通过一系列数字进行迭代。 当当前迭代的元素等于3时,continue
语句将导致执行返回到循环的开头并继续下次迭代:
for i in range(1, 6):
if i == 3:
continue
print(i)
1
2
4
5
else
条件
在Python中,for
循环可以具有可选else
条件。
当循环正常完成时,执行else
子句,即当所有迭代都完成时:
for i in ["Blueberry", "Raspberry", "Strawberry"]:
print(i)
else:
print('Loop completed.')
Blueberry
Raspberry
Strawberry
Loop completed.
当循环被break
或continue
语句终止时,不执行else
子句:
for i in ["Blueberry", "Raspberry", "Strawberry"]:
if i == "Raspberry":
break
print(i)
else:
print('Loop completed.')
Blueberry
结论
Python for
循环用于重复执行用于固定次数的代码块。
如果您有任何问题或反馈,请随时留下评论。