for 循环和可迭代对象遍历
for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下:
for 变量 in 可迭代对象:
循环体语句
【案例】遍历一个元组或列表
for x in (10, 20, 30):
print(x * 3,end='\t')
可迭代对象
Python 包含以下几种可迭代对象:
- 序列。包含:字符串、列表、元组
- 字典
- 迭代器对象(iterator)
- 生成器函数(generator)
- 文件对象
我们前面已经学习了序列、字典等知识,迭代器对象和生成器函数将在后面进行详解。接下来,我们通过循环来遍历这几种类型的数据:
【案例】遍历字符串中的字符
for x in 'abcdefg':
print(x, end='\t')
【案例】遍历字典
d = {'name': '小明', 'age': 18, 'job': '程序员'}
for x in d:
print(x, end='\t')
print()
#这里的x只是定义在这个for循环里面的,出了这个for循环x就没有了。所以下一个循环还可以拿x做变量。
for x in d.keys():
print(x, end='\t')
print()
for x in d.values():
print(x, end='\t')
print()
for x in d.items():
print(x)
range 对象
range 对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:
range(start, end [,step])
生成的数值序列从 start 开始到 end 结束(不包含 end)。若没有填写 start,则默认从 0开始。step 是可选的步长,默认为 1。如下是几种典型示例:
for i in range(10) 生成序列:0 1 2 3 4 5 6 7 8 9
for i in range(3,10) 生成序列:3 4 5 6 7 8 9
for i in range(3,10,2) 生成序列:3 5 7 9
【案例】利用 for 循环,计算 1-100 之间数字的累加和;计算 1-100 之间偶数的累加和,计算 1-100 之间奇数的累加和。
sum_all = sum_odd = sum_even = 0
for x in range(101):
sum_all += x
if x % 2 == 0:
sum_even += x
else:
sum_odd += x
print('0-100的数,累加和为:{0},其中偶数的累加和为:{1},其中奇数的累加和为{2}。'.format(sum_all, sum_even, sum_odd))