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