Python编程语言提供 for
循环,以便在给定的序列、列表、项、字符串、数组、元组、字典等上进行迭代。甚至有不同的循环方式,如while循环。在本教程中,我们将研究如何循环处理不同的项和数据类型,如sequence、list、string、tuple和dictionary。
for循环语法
for循环具有非常简单的语法,它可以根据C++语言、PHP语言、C语言、C++语言等其他编程语言来实现。
for ITEM in SEQUENCE: CODE
- 项目 是一个变量,它包含由序列提供的每个步骤或迭代中的值。
- 顺序 是一个列表、数组、字符串、元组等,它以可编辑的方式包含单个或多个项。
- 代码 是用于处理项和执行其他操作的循环体。代码部分可以是单个或多个行和指令。
迭代列表
for循环最流行的用例之一是遍历list或list数据类型。Python列表是在其他编程语言中实现数组,如JavaScript、C语言、C语言、C++语言等。在下面的示例中,我们将遍历给定的列表,命名为城市,并打印每个城市,这是for循环的代码部分中的一个项目。
cities = [ 'london' , 'istanbul' , 'california' , 'barcelona' ]for city in cities: print("City name is "+city)
输出如下。我们可以看到,每一个字符串列表项都在每一步中迭代,并设置到名为city的变量中。city变量只能在此循环中使用,不能在循环外使用。
City name is londonCity name is istanbulCity name is californiaCity name is barcelona
逐字符遍历字符串
字符串是由单个或多个字符组成的特殊数据类型。即使它们看起来是单个变量或值,它们也由多个字符组成。因此Python字符串是一种iterable类型,其中可以使用for循环迭代多个字符。
sentence = "I like pythontect.com"for char in sentence: print(char)
输出如下。我们可以看到,每个字符都被设置到名为char的变量中,这个char变量的内容被逐行打印出来。甚至连空格字符也打印出来了。
Ilikepythontect.com
迭代元组
tuple是Python中专门使用的另一种数据类型。元组与列表非常相似,但元组的内容无法更改。Tuple数据类型是一个序列或iterable,循环使用for,如下所示。
cities = ( 'london' , 'istanbul' , 'california' , 'barcelona' )for city in cities: print("City name is "+city)
输出如下。
City name is londonCity name is istanbulCity name is californiaCity name is barcelona
迭代字典
Dictionary是一种特殊的数据类型,它包含键/值对,以便将键和值存储在一个单独的项中,就像真实的Dictionary一样。Dictionary是一种序列类型,它可以是iterable,并可以使用for循环进行迭代。只有键被for循环迭代。
numbers = { '1':'one' , '2':'two' , '3':'three' }for number in numbers: print("Key is "+number)
输出如下。它是键/值对的键。
Key is 1Key is 2Key is 3
如果我们还想访问for循环中描述项的值,我们需要使用current键来获取当前值。
numbers = { '1':'one' , '2':'two' , '3':'three' }for number in numbers: print("Key is "+number) print("Value is "+numbers[number])
输出如下键是第一行,值是第二行。
Key is 1Value is oneKey is 2Value is twoKey is 3Value is three
迭代Number Range或Range()方法
range()
是一种用于以简单实用的方式创建数字序列的方法。例如,如果要使用For循环从1到100进行迭代,则很难使用列表或写入从1到100的所有数字。range()方法可用于指定数字列表的开始和结束。默认情况下,增量值为1。也可以选择提供不同于1的增量值。
for number in range(0,100): print("Number is "+str(number))
输出如下。
Number is 0Number is 1Number is 2Number is 3Number is 4Number is 5Number is 6Number is 7Number is 8...Number is 99Number is 100
我们还可以设置range()方法的增量值,如下所示。我们将增量值设为3。
for number in range(0,99,3): print("Number is "+str(number))
输出如下。
Number is 0Number is 3Number is 6Number is 9Number is 12Number is 15Number is 18Number is 21Number is 24Number is 27...Number is 96Number is 99
继续语句
默认情况下,将在Python的for循环中计算每个步骤。如果我们需要跳过一个或多个迭代或步骤,我们可以使用 continue
声明。这将跳过或跳到下一步。
for number in range( 0 , 10 ): if number == 3: continue print("Number is "+str(number))
输出如下所示,使用continue语句跳过数字3。
Number is 0Number is 1Number is 2Number is 4Number is 5Number is 6Number is 7Number is 8Number is 9
中断语句
如果您想完全结束for循环而不继续迭代并跳过下一项,那么 break
可以使用该语句。
for number in range( 0 , 10 ): if number == 3: break print("Number is "+str(number))
输出如下所示,在3中打印2之后,迭代将停止。
Number is 0Number is 1Number is 2
嵌套for循环
多个for循环可以在彼此内部使用。这被称为嵌套for循环,对于多级列表或矩阵等非常有用。实际上,与单个for循环没有区别,根据算法,多个for循环将放在另一个for循环中。
for x in range(0,10): for y in range(0,10): print("Number is "+str(x)+str(y))
输出如下。
Number is 00Number is 01Number is 02Number is 03Number is 04Number is 05Number is 06Number is 07Number is 08...Number is 98Number is 99