for循环遍历
- 通过for循环来遍历列表
语法
for 变量 in 序列(遍历的规则):
代码块
- 示例1: for循环访问列表
# for 循环访问列表
list = ['woodman', 'Alan', 'Bobo']
for name in list:
print(name)
'''
结果:
woodman
Alan
Bobo
'''
注意: name 这个变量是在 for 循环中定义的,意思是,依次取出 list 中的每一个元素,并把元素赋值给 name,然后执行for循环体
- 示例2: for 循环访问字典
dict = {
'woodman': 98, 'Alan': 89, 'Bobo': 56}
for key, value in dict.items():
print(key, value)
'''
输出结果:
Alan 89
woodman 98
Bobo 56
'''
- 示例3: for 循环访问字符串
# for 循环访问字符串,可以依次读取每个字符
for a in '木头人':
print(a)
- for … else … (比较少用到)
for <变量> in <循环序列>:
【循环体】
else:
【else的语句块】
释:for 遍历序列,无 break 结束当前循环,循环结束后执行 else 语句块
示例1:
list = ['woodman', 'Alan', 'Bobo']
for name in list:
print(name)
else:
print('循环完整结束后执行')
示例2:
list = ['woodman', 'Alan', 'Bobo']
for name in list:
print(name)
if name == 'Alan':
break # break 结束循环,for 下的 else 也不会执行
else:
print('循环完整结束后执行')
示例3:
list = ['woodman', 'Alan', 'Bobo']
for name in list:
if name == 'Alan':
continue # continue 跳过本次循环,进入下一次循环
print(name) # 如果被 continue 本条语句不会执行
else:
print('循环完整结束后执行')
注意:continue 只是跳过本次循环,循环结束后 else 语句块最后被执行
- for循环嵌套
for <外层循环变量> in <外层循环序列>:
for <内层循环变量> in <内层循环序列>:
【内层循环体】
【外层循环体】
这个只是一个for 与 for 的循环嵌套,还可以使用 for 与 while 嵌套
循环嵌套经典示例1:倒三角的九九乘法表:
# 九九乘法表 倒三角,你可以试试输出正三角
for i in range(1, 10):
for j in range(i, 10):
print('%d * %d = %d' % (i, j, i * j), end='\t')
print('') # 控制换行
循环嵌套经典示例2:冒泡排序
# 冒泡排序
list = [9, 2, 7, 4, 5, 6, 3, 8, 1, 10]
length = len(list)
for i in range(length):
for j in range(length - i):
if list[length - j - 1] < list[length - j - 2]:
list[length - j - 1], list[length - j - 2] = list[length - j - 2], list[length - j - 1]
print(list)
• 注意: for循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素
range()类控制循环访问
- range(start, stop[, step]) 从 start 开始到 stop 结束(不包含 stop)返回一个整数序列的迭代对象, step 为他的步长
- range(stop)从0开始到stop结束(不包含 stop)返回一个产生整数序列的迭代对象
参数说明
• ·start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
• stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
• step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
示例:
for i in range(5):
print(i