python
for
说明
《Python 教程》 帮助读者成为泛程序员,持续修订中,提供建议、纠错、催更加微信 gairuo123。查看 更新日志。作者开办 Python 数据分析培训,详情 Python 数据分析培训。
![]() |
本教程作者所著新书《Python之光:Python编程入门与实战》(ISBN:9787111729891)已由机械工业出版社出版上市,各大电商平台有售,欢迎:查看详情并关注购买。 |
For 循环是从一个可迭代的对象(可以是我们指定的元素)中每次取出一个一一执行,直到全部处理执行完,处理过程可搭配 if 系列进行逻辑分支执行。
For 循环的结构如下:
for <变量> in <可迭代对象>:
<逻辑代码>
执行流程如下:
此处的可迭代对象可以理解为一个序列,可以拆开的内容,如字符串(每个字串)、列表、字典、集合等等。
如果第一个内容又可以拆开,可以在 <变量> 处定义指定数量的变量,如字典可以字典 k, v
然后在<逻辑代码>中分别用 k 和 v 代表键和值。
一般我们只让 for 做一定次数的事,可以用 range(10)
,它也是一个典型的可迭代对象。
如果,for 中的变量在逻辑代码中不使用,可以用 _
代替,比较规范。
for _ in range(3):
print('你能学会 python.')
print('重要的事说三遍!')
# 你能学会 python.
# 你能学会 python.
# 你能学会 python.
# 重要的事说三遍!
也可以看以下图示进行理解:
for i in [1,2,3,5]:
print(i)
else:
print('执行结束')
# 1
# 2
# 3
# 5
# 执行结束
语法说明:
for, in, else
迭代字典:
tom = {'name': 'Tom', 'age': 18, 'height': 180}
for k,v in tom.items():
print(k, v)
# name Tom
# age 18
# height 180
迭代列表(与上边字典做下对比):
tom = [('name', 'Tom'), ('age', 18), ('height', 180)]
for k,v in tom:
print(k, v)
# name Tom
# age 18
# height 180
# 也可以得到和上边一样的结果
for i in tom:
print(i[0], i[1])
可以和之前我们学过的条件分支进行嵌套:
for i in range(100):
if i*2 - i == 10:
print(i)
# 10
100 以内的偶数相加:
num = 0
for x in range(101):
if x%2 == 0:
num = num + x
print(num)
自身嵌套:
a = [(1,2,3), (4,5,6)]
for i in a:
for x in i:
print(x)
生成列表,列表推导式:
# 生成偶数列表
var = [i for i in range(3)]
# [0, 1, 2]
生成字典
# 生成偶数字典,值乘于 10
var = {i:i*10 for i in range(10) if i%2}
# {1: 10, 3: 30, 5: 50, 7: 70, 9: 90}