- 什么是for循环
循环就是重复做某件事,for循环是python提供第二种循环机制- 为什么要有for循环
理论上for循环能做的事情,while循环都可以做,之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁- 如何用for循环
语法:
for 变量名 in 可迭代对象**:# 可迭代对象:列表、字典、字符串、元组、集合**
代码1
代码2
代码3
…
一、 for基本使用之循环取值
案例1:列表循环取值:
l = ['alex_dsb', 'lxx_dsb', 'egon_nb']
# 简单版
for x in l: # x='lxx_dsb'
print(x)
# 复杂版:
i = 0
while i < 3:
print(l[i])
i += 1
案例2:字典循环取值
dic = {'k1': 111, 'k2': 2222, 'k3': 333}
for k in dic:
print(k, dic[k])
案例3:字符串循环取值
msg = "you can you up,no can no bb"
for x in msg:
print(x)
二、 总结for循环与while循环的异同
- 相同之处:都是循环,for循环可以干的事,while循环也可以干
- 不同之处:
1.while循环称之为条件循环,循环次数取决于条件何时变为假
2.for循环称之为"取值循环",循环次数取决in后包含的值的个数
三、 for循环控制循环次数:range()
range() 有三种用法,用来for循环取数:
- range(b) 生成一个[0,1,2,…,b-1]的数组。
- range(a, b)生成一个[a,a+1,a+2,…,b-1]的数组。
- range(a, b, n)生成一个[a,a+n,a+2n,…,最大值小于b]的数组。
四、 range补充知识(了解)
- for搭配range,可以按照索引取值,但是麻烦,所以不推荐
l = ['aaa', 'bbb', 'ccc'] # len(l)
for i in range(len(l)):
print(i, l[i])
- range()在python3里得到的是一只"会下蛋的老母鸡"
python2中range生成的是一个数组,但是在python3中,for循环每次去range取的时候生成一个,阅后即焚。
五、 for+continue
for i in range(6): # 0 1 2 3 4 5
if i == 4:
continue
print(i)
六、 for循环嵌套:外层循环循环一次,内层循环需要完整的循环完毕
for i in range(3):
print('外层循环-->', i)
for j in range(5):
print('内层-->', j)
# 外层循环1次,内层循环5次。
补充:终止for循环只有break一种方案