1.语法
for 变量名 in 可迭代对象:
代码1
代码2
代码3
...
可迭代对象可以是:列表、字典、字符串、元组、集合
2.基本案例
- 列表循环取值
简单版
l = ['alex','lxx','egon']
for x in l:
print(x)
复杂版
l = ['alex','lxx','egon']
i = 0
while i <3:
print(l[i])
i += 1
- 字典循环取值
简单版
dic = {'k1':111,'k2':222,'k3':333}
for k in dic:
print(k,dic[k])
复杂版:while循环可以遍历字典,较为麻烦
- 字符串循环取值
简单版:空格也算字符
msg = 'you can you up,no can no bb'
for k in msg:
print(k)
3.总结for循环与while循环的异同
- 相同之处:都是循环,for循环可以干的事,while循环也可以干
- 不同之处:
- while循环称之为条件循环,循环次数取决于条件何时变为假
- for循环称之为迭代循环,循环次数取决于in后面包含的值的个数
4.for循环控制循环次数:range()
- range()
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,9)
[1, 2, 3, 4, 5, 6, 7, 8]
>>> range(1,9,2) #第三位是步长,不写默认为1,顾头不顾尾
[1, 3, 5, 7]
for+break:同while循环一样
for+else:同while循环一样
- range()补充知识
for搭配range,可以按照索引取值,但是麻烦,所以不推荐
l = ['aaa','bbb','ccc'] # 可以用len取列表长度
for i in range(len(l)):
print(i,l[i])
range()在python3中得到的是一只‘’会下蛋老母鸡“
5.for+continue
for i in range(6):
if i == 4:
continue
print(i)
for i in range(6):
if i == 4:continue
print(i)
6.for循环嵌套
for循环嵌套:外层循环循环一次,内层循环需要完整的循环完毕
for i in range(3):
print('外层循环-->',i)
for j in range(5):
print('内层-->',j)
补充:终止for循环只有break一种方式