如何构建循环在Python 3

在计算机编程中使用循环允许我们自动化和重复类似的任务多次。在本教程中,我们将讨论Python的for循环。 for循环实现基于循环计数器或循环变量的代码的重复执行。这意味着使用for循环...

在计算机编程中使用循环允许我们多次自动化和重复类似的任务。在本教程中,我们将讨论Python的for循环for循环实现基于循环计数器或循环变量的代码的重复执行。 这意味着, for循环次数在进入循环之前已知的迭代次数最多, 不是基于条件的while循环

循环

在Python中, for循环的构造如下:
for [iterating variable] in [sequence]:
    [do something]
正在进行的事情将被执行,直到序列结束。 让我们来看一个循环遍历一个值范围的for循环:
for i in range(0,5):
   print(i)
当我们运行这个程序时,输出如下所示:
0
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)进行迭代:
0
1
2
3
4
5
接下来,我们将介绍range(start, stop) ,其中包含为迭代应该开始的时间以及它应该停止的时间传递的值:
for i in range(20,25):
   print(i)
这里,范围从20(包括)到25(不包括),因此输出如下所示:
20
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,使得仅打印每三个数字,如下:
0
3
6
9
12
我们也可以为我们的step参数使用负值向后迭代,但是我们必须相应地调整startstop参数:
for i in range(100,0,-10):
   print(i)
这里,100是起始值,0是stop值, -10是范围,因此循环从100开始,结束于0,每次迭代减少10。我们可以看到这种情况发生在输出中:
100
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 ,我们可以调用任何其他有效的变量名称 ,我们会得到相同的输出:
hammerhead
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)
['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循环填充列表,如下所示:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
类似地,我们可以遍历字符串:
sammy = 'Sammy'

for letter in sammy:
   print(letter)
S
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])
name: 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)
当我们运行此程序时,我们将收到以下输出:
1
a
b
c
2
a
b
c
3
a
b
c
输出说明程序通过打印1完成外部循环的第一次迭代,然后触发内部循环的完成, a打印abc 。 一旦内部循环完成,程序返回到外部循环的顶部,打印2 ,然后再打印整个内部循环( abc )等。 嵌套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)
['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)
hammerhead
great white
dogfish
0
1
2
9.9
8.8
7.7
当我们使用嵌套for循环时,我们可以遍历列表中包含的各个项目。 我们可以在我们的教程中的[自然语言处理工具包(NLTK)](( https://www.howtoing.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循环的教程并断开,继续和传递语句来继续学习循环。