Python中的迭代遍历 for in

遍历就是从头到尾依次从列表中获取数据,在循环体内部针对每一个元素,执行相同的操作。

在Python中为了提高列表的遍历效率,专门提供的迭代(iteration)遍历。

使用 for...in 就能够在 Python 中实现迭代遍历。

在 Python 中,for 循环可以遍历任何序列的项目,如列表、元组、字典以及字符串。

本文只用列表作简单举例,涉及到个别数据类型的特殊用法,我们后面再补充。

for...in 循环流程图


forin循环流程图.png

for基础用法

语法格式:

# for 循环内部使用的变量 in 列表
for name in name_list:
    循环内部针对列表元素进行操作
    print(name)

尽管 Python 的列表中可以存储不同类型的数据,但是在开发中,更多的应用场景是用列表存储相同类型的数据。

通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作。

实例

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:
    print("当前水果 : %s" % fruit)
#当前水果 : banana
#当前水果 : apple
#当前水果 : mango

我们也通过序列索引来进行迭代循环。

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
    print('当前水果 : %s' % fruits[index])
#当前水果 : banana
#当前水果 : apple
#当前水果 : mango

我们使用了内置函数 len() 和 range()。

函数 len() 返回列表的长度,即元素的个数。

函数 range() 返回一个序列的数,用于生成一系列连续整数,多用于 for 循环中。

循环使用 else 语句

else 中的语句会在循环正常执行完的情况下执行,即 for循环不是通过 break 跳出而中断的,while … else 也是一样。

实例

# 迭代 10 到 20 之间的数字
for num in range(10, 20):
    # 根据因子迭代
    for i in range(2, num):
        if num % i == 0:
            j = num/i
            print('%d 等于 %d * %d' % (num, i, j))
            break
    # 循环的 else 部分
    else:
        print('%d是一个质数' % num)

结果

10 等于 2 * 5
11是一个质数
12 等于 2 * 6
13是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17是一个质数
18 等于 2 * 9
19是一个质数

编程的朝圣之路.png

你可能感兴趣的:(Python中的迭代遍历 for in)