循环结构用来执行一条或多条语句,大致如下
while 循环:
while 条件表达式:
循环语句
for 循环:
常用于对可迭代对象的遍历,格式如下:
for 变量 in 可迭代对象:
循环语句
嵌套循环:
输出内容如下:
上面的代码优化一下,经典的九九乘法表:
效果如下:
break:
循环语句中出现break,则中断循环,不再执行循环.
执行效果
当i等于6时,循环被中断了,后面没有执行了
continue:
也是中断循环,but它只会中断一次:
结果如下:
可以看到只在等于6的时候程序结束 了循环一次 ,后续正常进行
else:
while 条件表达式:
循环语句
else:
语句
或
for 变量 in 可迭代对象:
循环语句
else:
语句
当正常循环结束时,会执行后面的else语法,若被break打断,则else语句不执行.
很简单不敲了.
循环代码优化原则:(很重要!!!)
1 尽量减少循环内部不必要的循环
2 循环嵌套中,尽量减少内部循环
3 局部变量查询较快,尽量使用局部变量
zip并行迭代:
zip()可以对多个序列进行并行迭代,且最短的序列用完时停止.
输出如下:
推导式生成序列:
1 列表推导式
经典
结果
加判断
结果
2 字典推导式
结果;
用来统计每一个单词出现的次数
集合推导式:
差不多
生成器推导式(生成元祖):
在 使用上诉方法创建时,并不会像上面一样生成对应的元祖,结果如下:
而是生成这样的对象.
改变打印方式:
结果如下:
元祖生成成功,但再打印一次
结果为空.(这里有一个指针的概念,第一次打印,指针从a对象尾部开始,头部结束,依次指出里面的数值,所以第一次指完,指针从尾部指到了头部,所以第二次打印,指针没有数据可以遍历,打印为空)