像任何其他编程语言一样,在Python中循环是避免编写重复代码的好方法。但是,与Python的while循环不同,for循环是一个确定的控制流语句,它为您提供了对一系列中的每个项的更多权限。
无论您是Python初学者还是已经有了一些Python方面的经验,对其for循环有一个扎实的掌握是解决数组相关问题的关键。在这里,我们来看看Python的for循环是如何工作的,以及如何使用它来解决编码难题的一些示例。
Python的for循环通过遍历数组序列来工作。本质上,它在处理字符串、列表、元组、字典或集合等序列时非常有用。在Python中,in关键字通常跟在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循环的实际例子。
下面的代码段输出列表中的每个项:
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:breakprint(i)还可以将continue关键字与for循环一起使用:
b=[2, 3, 5, 6]for i in b:if i>3:continueprint(i)现在看看下面的代码,输出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)但是,您也可以为上述代码的输出创建一个“2byoutput”乘法表。要实现这一点,您只需再添加一些这样的语句:
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中创建和重用自己的模块
还可以使用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"])如果要输出复杂数组或嵌套数组中的每个元素,嵌套for循环非常有用。它的工作原理是将一个循环放在另一个循环中。下面的示例代码输出嵌套列表中的每个项。但是,它只输出字典的键:
nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}]for dict in nested_list: for i in dict: print(i)在处理嵌套for循环时,更好地理解Python的列表和数组非常有用。
根据手头的问题,for和while循环中的每个循环都有其Python用例。尽管for循环更常见,但这并不意味着掌握while循环就不那么重要了。
虽然for循环提供了跨编程语言的更通用的解决方案,但将其置于While循环之上是错误的。在解决具体问题时,最好考虑其中任何一个,而不是认为其中一个比另一个有用。另外,作为一个Python程序员,你不能没有它们。
...lenium WebDriver。在本文中,我们将简要介绍Selenium,并提供如何在系统上安装Selenium WebDriver的详细指南。 ...
... 然而,如果你不知道如何使用它,你可能会生气。如果您不知道在代码中的什么地方应用它,那就更令人沮丧了。在这里,我们将通过一些实际例子向您展示如何在Python中使用列表理解。 ...
... 本文将向您展示如何使用Python程序从命令行设置一个Arduino UNO(尽管任何与Arduino兼容的板都可以在这里工作)。本教程是为Windows10编写的,但也适用于Mac和Linux。你甚至可以使用这个工作...
...数据类型告诉编译器(或者在Python的情况下告诉解释器)如何使用数据。数据结构指定可以执行的操作,并且通常实现特定的规则和规定。 ...
有没有想过如何在两种编程语言之间发送数据?是否尝试发送一个对象或多个数据段? ...
... 在本文中,我将向您展示如何使用Python读写googlesheets。如果您刚刚开始Python之旅,那么以下5个学习Python的最佳网站是一个很好的起点。 ...
在这个快速简单的Raspberry Pi项目中,您将学习如何**Gmail电子邮件通知灯。如果您有任何未读的电子邮件,Python脚本会打开指示灯。这个项目需要很少的部分,可以在一个小时内完成!当然,你可以把你的LED打扮成任何你喜欢的...
... 在本文中,我将向您展示如何利用Python自动与Twitter、Reddit和Instagram帐户交互。 ...