如何在Python中使用For循环

像任何其他编程语言一样,Python循环是避免编写重复代码的好方法。但是,与Python的while循环不同, for循环是确定的控制流语句,可为您提供对系列中每个项目的更多权限。

无论您是Python初学者还是已经有一些使用它的经验,扎实地了解它的for循环都是解决与数组相关的问题的关键。在这里,我们来看看Python的for循环是如何工作的,以及一些如何使用它来解决编码难题的示例。

For循环如何在Python中工作

Python的for循环通过遍历数组的序列来工作。从本质上讲,它在处理诸如字符串,列表,元组,字典或集合之类的序列时很有用。 in关键字通常在Python中的for循环之后。

在所有编程语言中, for循环均具有相似的特性。例如,尽管存在语法差异,但是Java的for循环特性类似于Python的for循环的工作方式。

Python for循环的一般语法如下:

 for new_variable in parent_variable:
execute some statements

如前所述,与while循环不同, for循环功能更强大,因为它在流中提供了更多的控制。

为了更好地理解, for循环通常类似于以下示例语句:“对于您在课堂上遇到的每个男学生,写下一个,否则,写下它仅是一班女性。”

该陈述是一条简单的指令,告诉您在特定班级遇到的每个男学生都要继续写一个。这是一个连续的循环。但是,要在这种情况下启动for循环,您必须遇到一个男学生。如果不是,则记下else语句。

如果上面的语句没有else条件,那么您将不会编写任何内容。这意味着它是一个空数组。

如何使用Python的For循环:实际示例

现在,让我们看一些如何在Python中使用for循环的实际示例。

下面的代码段输出列表中的每个项目:

 items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
print(i)

您还可以修改上面的代码以输出具有字母“ a”的任何项目:

 items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
if "a" in i:
print(i)

Python中的for循环也采用直接的else语句:

 b=[2, 3, 5, 6]
for i in b:
print(i)
else:
print("Loop has ended")

您也可以使用break语句来更改for循环的流程:

 b=[2, 3, 5, 6]
for i in b:
if i>3:
break
print(i)

您也可以使用关键字继续用一个for循环:

 b=[2, 3, 5, 6]
for i in b:
if i>3:
continue
print(i)

在Python中使用带有列表和字符串文字的for循环

现在看一下下面的代码,输出1到100之间的所有正整数。为此,您首先要使用Python的内置range函数创建1到100之间的数字列表:

 for x in range(1, 101):
print(x)

您可以通过引入条件语句来输出1到100之间的所有奇数来修改该代码块:

 for x in range(1, 101):
if x%2==1:
print(x)

但是,您也可以在上面代码的输出中创建一个“ 2 by output”乘法表。为此,您只需要添加一些其他语句,如下所示:

 for x in range(1, 101):
if x%2==1:
print(x, "x", 2, "=", x * 2)

现在,您已经了解了for循环如何使用整数列表。让我们看一下如何在字符串中使用for循环。

下面的代码返回句子中每个字符串的序列:

 a = "How to use a for loop in Python"
for i in a:
print(i)

我们还可以使用for循环来计算变量a中的字符串(包括空格)的数量:

 a = ["How to use a for loop in Python"]
for i in a:
print(i.count(''))
Output: 32

但是,您也可以将for循环放在单独的变量中,并通过像上面这样重写代码来获得类似的结果:

 a=["How to use a for loop in Python"]
c=[b.count('') for b in a]
print(c)
Output: [32]

注意:要获取字符计数,请确保count关键字后面的括号内的引号之间没有空格。

您还可以修改上面的最后两个代码段,以使用for循环创建一个简单的字计数器。在这种情况下,您需要做的就是在括号中的每个引号之间插入一个空格:

 a=["How to use a for loop in Python"]
for i in a:
print(i.count(' ') + 1)
Output: 8

就像您对字符计数所做的一样,您还可以通过将for循环放在这样的变量中来重写上面的单词计数代码:

 a = ["How to use a for loop in Python"]
c=[b.count(' ') + 1 for b in a]
print(c)
Output: [8]

请密切注意括号中的引号之间的单个空格。

相关:如何在Python中创建和重新使用自己的模块

对数组使用Python For循环

您也可以使用for循环从数组中获取特定元素。

假设您有一组绵羊,“健康”动物的值为“是”,而“不健康”绵羊的值为“否”。每只绵羊都有一个唯一的名称,您想隔离所有患病的绵羊。

您可以使用for循环输出所有不健康的绵羊。要查看在这种情况下for循环的有用性,下面的代码输出数组中所有不健康的绵羊的名称:

 array = [{"name":"Sheep1", "healthy":"Yes"},
{"name":"Sheep3", "healthy":"No"},
{"name":"Sheep4", "healthy":"Yes"},
{"name":"Sheep5", "healthy":"Yes"},
{"name":"Sheep8", "healthy":"No"},
{"name":"Sheep7", "healthy":"No"},
{"name":"Sheep9", "healthy":"No"}
]
for sheeps in array:
if sheeps["healthy"]=="No":
print("Quarantine", sheeps["name"])

在Python中使用嵌套的For循环

当您要输出复杂或嵌套数组中的每个元素时,嵌套的for循环很有用。通过在另一个循环中放置一个循环来工作。下面的示例代码输出嵌套列表中的每个项目。但是,它仅输出字典的键:

 nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}]
for dict in nested_list:
for i in dict:
print(i)

处理嵌套的for循环时,更好地了解Python的列表和数组很有用。

对于循环或While循环,哪个更好?

根据当前的问题, forwhile循环在Python中都有其用例。尽管for循环更常见,但这并不会使精通while循环变得不那么重要。

尽管for循环提供了跨编程语言的更通用的解决方案,但将其置于while循环之上是错误的。最好考虑使用其中任何一个解决特定问题,而不是认为其中一个比另一个更有用。此外,作为Python程序员,您不能没有他们两个。