在计算机编程中使用循环允许我们多次自动化和重复类似的任务。在本教程中,我们将讨论Python的
for循环 。
for
循环实现基于循环计数器或循环变量的代码的重复执行。 这意味着,
for
循环次数在进入循环之前已知的迭代次数最多,
而不是基于条件的
while循环 。
循环
在Python中,
for
循环的构造如下:
for [iterating variable] in [sequence]:
[do something]
正在进行的事情将被执行,直到序列结束。 让我们来看一个循环遍历一个值范围的
for
循环:
for i in range(0,5):
print(i)
当我们运行这个程序时,输出如下所示:
Output0
1
2
3
4
此
for
循环将
i
设置为其迭代变量,序列存在于0到5的范围内。 然后在循环中,我们每次循环打印一个整数。请记住,在编程中,我们倾向于从索引0开始,所以这就是为什么虽然5个数字打印输出,它们的范围从0-4。 当程序需要重复一段代码多次时,你通常会看到并使用
for
循环。
对于使用range()
Python的内置不可变序列类型之一是
range()
。 在循环中,
range()
用于控制循环的重复次数。 当使用
range()
时,你可以传递1到3个整数参数:
start
表示序列开始的整数值,如果不包括,则start
从0开始
stop
始终是必需的,是计数到但不包括的整数
step
设置在下一次迭代中增加多少(或在负数的情况下减少),如果省略,则step
默认为1
我们将看一些将不同的参数传递给
range()
例子。 首先,让我们只传递
stop
参数,以便我们的序列设置是
range(stop)
:
for i in range(6):
print(i)
在上面的程序中,
stop
参数是6,因此代码将从0-6(不包括6)进行迭代:
Output0
1
2
3
4
5
接下来,我们将介绍
range(start, stop)
,其中包含为迭代应该开始的时间以及它应该停止的时间传递的值:
for i in range(20,25):
print(i)
这里,范围从20(包括)到25(不包括),因此输出如下所示:
Output20
21
22
23
24
range()
的
step
参数类似于
在切分字符串时
指定stride,因为它可用于跳过序列中的值。 使用所有三个参数,
step
进入最终位置:
range(start, stop, step)
。 首先,让我们使用一个具有正值的
step
:
for i in range(0,15,3):
print(i)
在这种情况下,设置
for
循环,使得从0到15的数字打印出来,但是在
step
3,使得仅打印每三个数字,如下:
Output0
3
6
9
12
我们也可以为我们的
step
参数使用负值向后迭代,但是我们必须相应地调整
start
和
stop
参数:
for i in range(100,0,-10):
print(i)
这里,100是起始值,0是
stop
值,
-10
是范围,因此循环从100开始,结束于0,每次迭代减少10。我们可以看到这种情况发生在输出中:
Output100
90
80
70
60
50
40
30
20
10
当在Python中编程时,
for
循环通常使用
range()
序列类型作为其迭代的参数。
对于使用顺序数据类型的循环
列表和其他数据序列类型也可以用作
for
循环中的迭代参数。 不是迭代一个
range()
,你可以定义一个列表并遍历该列表。 我们将一个列表分配给一个变量,然后遍历列表:
sharks = ['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem']
for shark in sharks:
print(shark)
在这种情况下,我们打印出列表中的每个项目。虽然我们使用变量
shark
,我们可以调用任何其他
有效的变量名称 ,我们会得到相同的输出:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
上面的输出显示
for
循环遍历列表,并从列表中打印出每行的每个项目。 列表和其他基于序列的
数据类型(如字符串和元组)通常用于循环,因为它们是可迭代的。 您可以将这些数据类型与
range()
以将项添加到列表中,例如:
sharks = ['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem']
for item in range(len(sharks)):
sharks.append('shark')
print(sharks)
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
这里,我们为
sharks
列表长度的每个项目添加了一个
'shark'
的占位符字符串。 您还可以使用
for
循环从头构建一个列表:
integers = []
for i in range(10):
integers.append(i)
print(integers)
在这个例子中,列表
integers
初始化为空,但是
for
循环填充列表,如下所示:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
类似地,我们可以遍历字符串:
sammy = 'Sammy'
for letter in sammy:
print(letter)
OutputS
a
m
m
y
迭代通过
元组是以与遍历列表或字符串相同的格式完成的。 当迭代通过
字典时,重要的是保持key:value结构,以确保您正在调用字典的正确元素。下面是一个调用键和值的示例:
sammy_shark = {'name': 'Sammy', 'animal': 'shark', 'color': 'blue', 'location': 'ocean'}
for key in sammy_shark:
print(key + ': ' + sammy_shark[key])
Outputname: Sammy
animal: shark
location: ocean
color: blue
当使用带有
for
循环的字典时,迭代变量对应于字典的键,而
dictionary_variable[iterating_variable]
对应于值。 在上面的例子中,迭代变量
key
用于代表key,
sammy_shark[key]
用于代表值。 循环通常用于迭代和处理顺序数据类型。
嵌套循环
循环可以嵌套在Python中,因为它们可以与其他编程语言。 嵌套循环是在另一个循环中发生的循环,在结构上类似于
嵌套的if
语句 。这些结构如下:
for [first iterating variable] in [outer loop]: # Outer loop
[do something] # Optional
for [second iterating variable] in [nested loop]: # Nested loop
[do something]
程序首先遇到外层循环,执行其第一次迭代。这个第一次迭代触发内部的嵌套循环,然后运行到完成。然后程序返回到外部循环的顶部,完成第二次迭代并再次触发嵌套循环。再次,嵌套循环运行到完成,并且程序返回到外部循环的顶部,直到序列完成或者
中断或其他语句破坏了进程。 让我们实现一个嵌套的
for
循环,这样我们可以仔细看看。 在这个例子中,外层循环将遍历一个名为
num_list
的整数列表,内循环将遍历一个名为
alpha_list
的字符串列表。
num_list = [1, 2, 3]
alpha_list = ['a', 'b', 'c']
for number in num_list:
print(number)
for letter in alpha_list:
print(letter)
当我们运行此程序时,我们将收到以下输出:
Output1
a
b
c
2
a
b
c
3
a
b
c
输出说明程序通过打印
1
完成外部循环的第一次迭代,然后触发内部循环的完成,
a
打印
a
,
b
,
c
。 一旦内部循环完成,程序返回到外部循环的顶部,打印
2
,然后再打印整个内部循环(
a
,
b
,
c
)等。 嵌套
for
循环可用于遍历列表组成的列表中的项目。 在由列表组成的列表中,如果我们只使用一个
for
循环,程序将输出每个内部列表作为一个项目:
list_of_lists = [['hammerhead', 'great white', 'dogfish'],[0, 1, 2],[9.9, 8.8, 7.7]]
for list in list_of_lists:
print(list)
Output['hammerhead', 'great white', 'dogfish']
[0, 1, 2]
[9.9, 8.8, 7.7]
为了访问内部列表的每个单独项目,我们将实现一个嵌套
for
循环:
list_of_lists = [['hammerhead', 'great white', 'dogfish'],[0, 1, 2],[9.9, 8.8, 7.7]]
for list in list_of_lists:
for item in list:
print(item)
Outputhammerhead
great white
dogfish
0
1
2
9.9
8.8
7.7
当我们使用嵌套
for
循环时,我们可以遍历列表中包含的各个项目。 我们可以在我们的教程中的[自然语言处理工具包(NLTK)]((
https://www.youcl.com/how-to-work-with/ )上查看嵌套的
for
循环在工作程序中使用
-language-data-in-python-3-using-the-natural-language-toolkit-nltk#step-5 --- counting-pos-tags )。
结论
本教程讨论了如何在Python中使用
for
循环以及如何构建它们。
For循环继续循环通过一段代码提供一定次数。 从这里,您可以通过阅读有关
while循环的教程并
断开,继续和传递语句来继续学习循环。