遍历就是从头到尾依次从列表中获取数据,在循环体内部针对每一个元素,执行相同的操作。
在Python中为了提高列表的遍历效率,专门提供的迭代(iteration)遍历。
使用 for...in
就能够在 Python 中实现迭代遍历。
在 Python 中,for 循环可以遍历任何序列的项目,如列表、元组、字典以及字符串。
本文只用列表作简单举例,涉及到个别数据类型的特殊用法,我们后面再补充。
for...in 循环流程图
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是一个质数