如何在Python 3中使用for循环

发布时间:2024年01月24日

使用计算机编程中的循环可以让我们自动化和重复执行类似的任务多次。在本教程中,我们将介绍 Python 的for循环

for循环实现了基于循环计数器或循环变量的代码重复执行。这意味着for循环通常在进入循环之前已知迭代次数时使用,不像while循环是基于条件的。

先决条件

您应该已经安装了 Python 3,并在计算机或服务器上设置了编程环境。如果您还没有设置编程环境,可以参考适用于您的操作系统(Ubuntu、CentOS、Debian等)的本地编程环境或服务器编程环境的安装和设置指南。

For循环

在 Python 中,for循环的构造方式如下:

for [迭代变量] in [序列]:
    [做某事]

正在执行的某事将一直执行,直到序列结束。

让我们看一个遍历数值范围的for循环:

for i in range(0,5):
   print(i)

当我们运行这个程序时,输出如下:

0
1
2
3
4

这个for循环将i设置为它的迭代变量,序列存在于0到5的范围内。

然后在循环内,我们每次迭代打印一个整数。请记住,在编程中,我们倾向于从索引0开始,这就是为什么虽然打印了5个数字,但它们的范围是从0到4。

当程序需要多次重复执行一块代码时,通常会看到并使用for循环。

使用range()的For循环

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参数类似于在切片字符串时指定步长,它可以用于在序列中跳过值。

使用所有三个参数,step位于最后位置:range(start, stop, step)。首先,让我们使用具有正值的step

for i in range(0,15,3):
   print(i)

在这种情况下,for循环设置为从0到15打印数字,但步长为3,因此只打印每三个数字,如下所示:

0
3
6
9
12

我们还可以使用负值作为step参数进行反向迭代,但必须相应地调整startstop参数:

for i in range(100,0,-10):
   print(i)

在这里,100是start值,0是stop值,-10是范围,所以循环从100开始,每次迭代减少10结束于0。输出如下:

100
90
80
70
60
50
40
30
20
10

在Python编程中,for循环通常使用range()序列类型作为其迭代的参数。

使用顺序数据类型的For循环

列表和其他数据序列类型也可以作为for循环中的迭代参数。您可以定义一个列表,并遍历该列表。

我们将一个列表赋值给一个变量,然后遍历该列表:

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

遍历元组的方式与遍历列表或字符串相同。

在遍历字典时,重要的是要牢记键:值结构,以确保调用字典的正确元素。以下是一个调用键和值的示例:

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用于表示键,sammy_shark[key]用于表示值。

循环经常用于遍历和操作顺序数据类型。

嵌套For循环

在Python中,循环可以嵌套,就像其他编程语言一样。

嵌套循环是一个循环,它发生在另一个循环内部,结构上类似于嵌套的if语句。构造方式如下:

for [第一个迭代变量] in [外部循环]: # 外部循环
    [做某事]  # 可选
    for [第二个迭代变量] in [嵌套循环]:   # 嵌套循环
        [做某事]  

程序首先遇到外部循环,执行其第一次迭代。这第一次迭代触发内部的嵌套循环,然后运行到完成。然后程序返回到外部循环的顶部,完成第二次迭代,并再次触发嵌套循环。再次,嵌套循环运行到完成,程序返回到外部循环的顶部,直到序列完成或断开或其他语句中断该过程。

让我们实现一个嵌套的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,然后触发了内部循环的完成,依次打印了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)教程中看到嵌套的for循环在一个工作程序中的使用。

结论

本教程介绍了for循环在Python中的工作原理以及如何构造它们。For循环继续循环执行一块代码,直到达到特定的次数。

从这里,您可以继续学习关于循环的教程,如while循环break、continue和pass语句

要在项目中使用for循环,请参考以下教程:

  • 如何使用Python 3和Tweepy库创建Twitterbot
  • 如何使用自然语言工具包NLTK在Python 3中处理语言数据
  • 如何使用Python 3和matplotlib绘制词频
文章来源:https://blog.csdn.net/xuanunix/article/details/135725530
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。