详解Python中for循环的使用方法

660次阅读  |  发布于5年以前

for循环在Python中有遍历所有序列的项目,如列表或一个字符串。
语法:

for循环语法如下:


    for iterating_var in sequence:
      statements(s)

如果一个序列包含一个表达式列表,计算第一个。然后,在序列中的第一项被分配给迭代变量iterating_var。接着,语句块被执行。列表中的每个项目分配给iterating_var,并且statement块被执行,直到整个序列完成(到尾部)。
流程图:

2015514114025864.jpg \(388×351\)

例子:


    #!/usr/bin/python

    for letter in 'Python':   # First Example
      print 'Current Letter :', letter

    fruits = ['banana', 'apple', 'mango']
    for fruit in fruits:    # Second Example
      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/python

    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语句,语句搜索素数从10到20的组合。


    #!/usr/bin/python

    for num in range(10,20): #to iterate between 10 to 20
      for i in range(2,num): #to iterate on the factors of the number
       if num%i == 0:   #to determine the first factor
         j=num/i     #to calculate the second factor
         print '%d equals %d * %d' % (num,i,j)
         break #to move to the next number, the #first FOR
      else:         # else part of the loop
       print num, 'is a prime number'

当执行上面的代码,产生以下结果:


    10 equals 2 * 5
    11 is a prime number
    12 equals 2 * 6
    13 is a prime number
    14 equals 2 * 7
    15 equals 3 * 5
    16 equals 2 * 8
    17 is a prime number
    18 equals 2 * 9
    19 is a prime number

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8