Python 3 for循环
Python 3 for循环
Python中的for语句能够迭代任何序列的项,例如列表或字符串。
语法
for iterating_var in sequence: statements(s)
如果序列包含表达式列表,则首先对其进行评估。然后,序列中的第一项被分配给迭代变量iterating_var。接下来,执行语句块。列表中的每一项都被分配给iterating_var,语句块将被执行,直到整个序列耗尽。
The range() function
内置函数range()是迭代一系列数字的函数,它生成算术级数的迭代器。
例子
>>> range(5) range(0, 5) >>> list(range(5)) [0, 1, 2, 3, 4]
例子
range()生成一个迭代器来处理从0到n-1的整数。要获取序列的列表对象,请键入list()。现在,可以使用for语句迭代此列表
>>> for var in list(range(5)): print (var)
输出
0 1 2 3 4
例子
#!/usr/bin/python3 for letter in 'Python': # traversal of a string sequence print ('Current Letter :', letter) print() fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # traversal of List sequence print ('Current fruit :', fruit) print ("Good bye!")
输出
Current Letter : P Current Letter : y Current Letter : t Current Letter : h Current Letter : o Current Letter : n Current fruit : banana Current fruit : apple Current fruit : mango Good bye!
按序列索引迭代
迭代中每个项目的另一种方法是通过索引偏移到序列本身,参考下面的例子:
例子
#!/usr/bin/python3 fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print ('Current fruit :', fruits[index]) print ("Good bye!")
输出
Current fruit : banana Current fruit : apple Current fruit : mango Good bye!
在这里,我们借助len()内置函数,它提供元组中的元素总数以及range()内置函数,为我们提供要迭代的实际序列。
在循环中使用else语句
Python支持将else语句与循环语句相关联。
如果else语句与for循环一起使用,则else块仅在for循环正常终止时执行(而不是通过遇到break语句)。
如果else语句与while循环一起使用,则在条件变为false时执行else语句。
例子
#!/usr/bin/python3 numbers = [11,33,55,39,55,75,37,21,23,41,13] for num in numbers: if num%2 == 0: print ('the list contains an even number') break else: print ('the list doesnot contain even number')
输出
the list does not contain even number