48.for循环
for
循环通常用于可迭代对象
的遍历
。for
循环的语法格式如下:
for 变量 in 可迭代对象:
循环体语句
可迭代对象(Iterable
)
Python包含以下几种可迭代对象
:
- 序列。包含:字符串、列表、元组
- 字典
- 迭代器对象(iterator)
- 生成器函数(generator)
- 文件对象
我们已经在前面学习了序列、字典等知识,迭代器对象和生成器函数将在后面进行详解
。
接下来,我们通过循环来遍历这几种类型的数据
:
【操作】遍历字符串中的字符
for x in "sxt001":
print(x)
【操作】遍历字典
d = {'name':'gaoqi','age':18,'address':'西三旗 001 号楼'}
for x in d: #遍历字典所有的key
print(x)
for x in d.keys():#遍历字典所有的key
print(x)
for x in d.values():#遍历字典所有的value
print(x)
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
# 当然 也可以填写负数。 前面 讲的 [ ] 切片 slice 差不多的使用方法。 可以回去看看。
【操作】利用for
循环,计算1-100
之间数字的累加和
;计算 1-100
之间偶数
的累加和, 计算 1-100
之间奇数
的累加和。
In [4]: sum_all = 0 #1-100 所有数的累加和
...: sum_even = 0 #1-100 所有偶数的累加和
...: sum_odd = 0 #1-100 所有奇数的累加和
...: for x in range(101):
...: sum_all += x
...:
...: if x % 2 == 0: # 也是利用求余数 的方式 判断 奇数偶数
...: sum_even += x
...: if x % 2 == 1:
...: sum_odd += x
...: print('总和是{0}'.format(sum_all))
...: print('偶数和是{0}'.format(sum_even))
...: print('奇数和:', sum_odd)
总和是5050
偶数和是2550
奇数和: 2500