如何构建循环在Python 3

在计算机编程中使用循环允许我们多次自动化和重复类似的任务。在本教程中,我们将讨论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参数使用负值向后迭代,但是我们必须相应地调整 startstop参数:
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打印 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)
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循环的教程并 断开,继续和传递语句来继续学习循环。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏