开发学院

您的位置:首页>教程>正文

教程正文

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