该for..in 语句是另一个循环语句,它遍历对象序列,即遍历序列中的每个项目。在后面的章节中,我们将详细介绍序列。您现在需要知道的是,序列只是项目的有序集合。 示例(另存为for.py ): for i in range(1, 5):
print(i)
else:
print('The for loop is over')
输出: $ python for.py
1
2
3
4
The for loop is over
这个怎么运作 在此程序中,我们正在打印一个数字序列。我们使用内置range 函数生成此数字序列。 我们在这里为它提供两个数字,并range 返回一个从第一个数字到第二个数字的数字序列。例如,range(1,5) 给出序列[1, 2, 3, 4] 。默认情况下,range 步数为1。如果我们向提供第三个数字range ,则该步数为。例如,range(1,5,2) 给出[1,3] 。请记住,范围扩展达第二个数,即它不包含第二个数。 请注意,range() 在同一时间,如果你想号码的完整列表,调用生成只有一个号码,list() 上range() ,例如,list(range(5)) 将导致[0, 1, 2, 3, 4] 。列表在“数据结构”一章中进行了说明。 的for 环路,则遍历这个范围-for i in range(1,5) 相当于for i in [1, 2, 3, 4] 其是像在时间分配所述序列中的每个数(或对象)至i,一个,然后执行语句的块对的每个值i 。在这种情况下,我们只将值打印在语句块中。 请记住,该else 部分是可选的。包含该for 变量时,除非遇到break语句,否则它总是在循环结束后执行一次。 请记住,for..in 循环适用于任何序列。在这里,我们有一个由内置range 函数生成的数字列表,但是总的来说,我们可以使用任何种类的任何对象的序列!我们将在后面的章节中详细探讨这个想法。 C / C ++ / Java / C#程序员注意事项 Pythonfor 循环与C / C ++for 循环完全不同。C#程序员将注意到for Python中的循环类似于foreach C#中的循环。Java程序员会注意到,这与for (int i : IntArray) Java 1.5中的相似。 在C / C ++中,如果要编写for (int i = 0; i < 5; i++) ,则在Python中,您只编写for i in range(0,5) 。如您所见,该for 循环在Python中更简单,更具表现力且更不易出错。
|