Python 中的 for 循环是一个迭代函数。如果你有一个序列对象,比如一个列表,你可以使用 for 循环来迭代列表中包含的项目。
for 循环的功能与其他多个编程语言中所见的并没有太大不同。
在本文中,我们将详细探讨 Python 中的 for 循环,并学习如何迭代不同的序列,包括列表、元组等。此外,我们还将学习如何使用 break 和 continue 语句来控制循环的流程。
何时使用 for 循环
每当你需要重复执行一段固定次数的代码时。如果你不知道需要重复执行的次数,而是根据条件来确定,则应使用“while 循环”语句。
Python 中的 for 循环语法
Python 中 for 循环的基本语法类似于下面提到的语法。
Python for循环语法详解
- 语句的第一个单词以关键字“for”开头,这表示for循环的开始。
- 然后是迭代变量,它遍历序列并可在循环中使用以执行各种功能
- 接下来是Python中的“in”关键字,它告诉迭代变量循环遍历序列中的元素
- 最后,我们有序列变量,它可以是列表、元组或任何其他类型的迭代器。
- 循环的语句部分是您可以使用迭代变量并执行各种函数的地方
使用for循环打印字符串的每个字母
Python字符串是一系列字符。如果在您的任何编程应用程序中,您需要逐个检查字符串的字符,您可以在这里使用for循环。
下面是这样工作的示例。
输出:
这个循环起作用的原因是因为Python将“字符串”视为字符序列,而不是将字符串视为整体。
使用for循环迭代Python列表或元组
列表和元组都是可迭代对象。现在让我们看看如何循环遍历这些对象中的元素。
输出:
现在,让我们继续并开始在这里循环遍历元组的元素。
嵌套Python for循环
当我们在另一个for循环内部有一个for循环时,这被称为嵌套for循环。嵌套for循环有多个应用场景。
考虑上面的列表示例。for循环从列表中打印出单词。但如果我们想要打印出列表中每个单词的各个字符呢?
这就是嵌套的for循环更好的地方。第一个循环(父循环)将逐个遍历单词。第二个循环(子循环)将遍历每个单词的字符。
输出
A nested loop is structurally similar to nested if
statements
Python for循环与range()函数
Python范围是内置函数之一。当您希望for循环运行特定次数,或者需要指定要打印的对象范围时,range函数非常有效。
在使用range()
时,您可以传递1到3个整数参数:
start
指定序列开始的整数值,如果不包括此参数,则start
从0开始stop
始终是必需的,它是计数但不包括的整数step
设置下一次迭代增加(或在负数情况下减少)的量,如果省略,则step
默认为 1
考虑以下示例,我想打印数字 1、2 和 3:
range 函数除了接受开始和停止参数外,还接受另一个参数。这就是 步长参数。它告诉 range 函数在每次计数之间跳过多少个数字。
在下面的示例中,我使用了数字 3 作为步长,你可以看到输出的数字是前一个数字 + 3。
我们还可以使用负值作为我们的 step
参数进行反向迭代,但我们需要相应地调整我们的 start
和 stop
参数:
在这里,100 是 start
值,0 是 stop
值,-10
是范围,所以循环从 100 开始,到 0 结束,每次迭代减少 10。这在输出中发生:
Output100
90
80
70
60
50
40
30
20
10
在Python编程中,for
循环经常使用range()
序列类型作为其迭代参数。
带有for循环的break语句
break语句用于提前退出for循环。当满足特定条件时,用于终止for循环。
假设我们有一个数字列表,我们想要检查数字是否存在。我们可以遍历数字列表,如果找到数字,则中断循环,因为我们不需要继续迭代剩余的元素。
在这种情况下,我们将使用Python if else条件以及我们的for循环。
带有for循环的continue语句
我们可以在for循环中使用continue语句,以便针对特定条件跳过for循环体的执行。
假设我们有一个数字列表,我们想要打印正数的总和。我们可以使用 continue 语句来跳过负数的 for 循环。
Python for 循环中的 else 块
我们可以在 Python for 循环 中使用 else 块。当 for 循环 不被 break 语句终止时,else 块才会执行。
假设我们有一个函数,如果所有数字都是偶数,则打印数字的总和。
如果存在奇数,我们可以使用 break 语句终止 for 循环。我们可以在 else 部分打印总和,这样它只会在 for 循环正常执行时打印。
使用顺序数据类型的 for 循环
列表和其他数据序列类型也可以作为迭代参数在for
循环中使用。与迭代range()
不同,你可以定义一个列表并通过该列表进行迭代。
我们将一个列表赋给一个变量,然后通过列表进行迭代:
在这种情况下,我们打印出列表中的每个项目。虽然我们使用了变量shark
,但我们可以使用任何其他有效的变量名,并且会得到相同的输出:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
上面的输出显示for
循环通过列表进行了迭代,并且每行打印了列表中的每个项目。
列表和其他基于序列的数据类型,如字符串和元组,通常与循环一起使用,因为它们是可迭代的。你可以将这些数据类型与range()
结合使用以将项目添加到列表中,例如:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
在这里,我们为每个sharks
列表的长度添加了一个占位符字符串'shark'
。
你也可以使用for
循环从头开始构建一个列表:
在这个例子中,列表integers
被初始化为空,但是for
循环会像这样填充列表:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
类似地,我们可以遍历字符串:
OutputS
a
m
m
y
遍历元组的方式与以上遍历列表或字符串的格式相同。
当遍历字典时,重要的是要记住键值对的结构,以确保调用字典的正确元素。这里是一个同时调用键和值的示例:
Outputname: Sammy
animal: shark
location: ocean
color: blue
在使用带有for
循环的字典时,迭代变量对应于字典的键,dictionary_variable[iterating_variable]
对应于值。在上面的例子中,迭代变量key
被用来代表键,sammy_shark[key]
被用来代表值。
循环经常被用来迭代和操作顺序数据类型。
结论
Python中的for循环与其他编程语言非常相似。我们可以使用break和continue语句来改变执行。然而,在Python中,for循环也可以有可选的else块。
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
从这里开始,您可以通过阅读关于while循环和break、continue和pass语句的教程来继续学习循环。
要在项目中使用for
循环,请参考以下教程:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3