# 把容器里数据拿出来的这个过程 可以叫遍历 迭代 循环
listvar = [1, 2, 3, 4, 5]
print(len(listvar)) # 算出列表里面所有元素的个数,len是计算长度
# 执行结果: 5
# 无序容器类型数据没法通过索引来进行遍历 while遍历有局限性 , for .. in 应用而生
#(1)字典(遍历的是它的键),列表,元组,字符串,集合都可以拿来遍历
container = {"小王", "合乎", "小自咋"}
for f in container:
print(f)
执行结果:
小自咋
合乎
小王
# (2)遍历等长的二级容器
listvar = [["王健林", "王思聪", "王铁锤"], ["马云", "马化腾", "马伊琍"], ["王宝强", "马蓉", "宋小宝"]]
for a, b, c in listvar:
print(a, b, c)
执行结果:
王健林 王思聪 王铁锤
马云 马化腾 马伊琍
王宝强 马蓉 宋小宝
#(3)遍历不等长的二级列表(遍历两次就可以拿到结果)
listvar = [["王健林", "王思聪", "王铁锤"], ["马云", "马化腾"], ["王宝强"]]
for i in listvar:
for j in i:
print(j)
执行结果:
王健林
王思聪
王铁锤
马云
马化腾
王宝强
#range(start ,[end , step])
'''
start 开始值
end 结束值 (end本身这个值取不到,取到end之前的那个值)
step 步长
返回一个可迭代对象
'''
#(4)range 括号里面只有一个值(参数)
# 默认从0开始遍历 到4结束 共5个数,不包含5
for i in range(5):
print(i)
执行结果:
0
1
2
3
4
#(5) range括号里面有两个值
for i in range(1, 5):
print(i)
执行结果:
1
2
3
4
#(6) range括号里面有三个值,3是步长
for i in range(1, 10, 3):
print(i)
执行结果:
1
4
7
#(7) 打印5~1
for i in range(5, 0, -1): # 不包含0的
print(i)
执行结果:
5
4
3
2
1
#(8)改写99乘法表 用for
for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%2d" % (j, i, i * j), end=" ")
print()