for与for-else循环
# 主要用来遍历/循环 序列或集合、字典
for target_list in expression_list:
pass
a = ['apple','pear','orange']
for x in a:
print(x)
apple
pear
orange
代码块可以嵌套代码块
a = [['apple','pear','orange'],(1,2,3)]
for x in a:
for y in x:
print(y)
apple
pear
orange
1
2
3
如何打印到一行呢
a = [['apple','pear','orange'],(1,2,3)]
for x in a:
for y in x:
print(y,end=' ')
print()
apple pear orange
1 2 3
for ... else
好像实际生活中也没什么用
a = [['apple','pear','orange'],(1,2,3)]
for x in a:
for y in x:
print(y,end=' ') # 如果不显示指出end,默认是 \n
print()
else:
print("list a is gone")
apple pear orange
1 2 3
list a is gone
break
vs continue
break 强制跳出当前for循环,continue跳过本次循环
break
a = [1,2,3]
for x in a:
if x == 2:
break
print(x)
else:
print('EOF')
必须理解,易出bug:for循环中如果强制break是不会执行else语句的
1
continue
a = [1,2,3]
for x in a:
if x == 2:
continue
print(x)
else:
print('EOF')
1
3
EOF
多维度循环跳出
a = [['apple','pear','orange'],(1,2,3)]
for x in a:
for y in x:
if y == 'pear':
break # 只是退出了内循环,外循环还是在执行
print(y)
else:
print("list a is gone")
外层的else会执行,原因是这里的else是和外层配套的
apple
1
2
3
list a is gone