for循环结构
for循环通常用于可迭代对象的遍历。for循环的语法格式如下: for 变量 in 可迭代对象 循环体语句
可迭代对象
python包含以下几种可迭代对象: 1.序列。包含:字符串、列表、元组 2.字典 3.迭代器对象(iterator) 4.生成器函数(generator) 5.文件对象 我们已经在前面学习了序列、字典等知识,迭代器对象和生成器函数将在后面进行详解。接下来,我们通过循环来遍历这几种类型的数据
range对象
range对象是一个迭代器对象,用来产生指定范围的数字序列。格式为: range(start,end[,step]) 生成的数值序列从start开始到end结束(不包含end)。若没有写start,则默认从0开始。step是可选的步长,默认为1
嵌套循环
一个循环体内可以嵌入另一个循环,一般称为“嵌套循环”
for s in range(1,10):
for n in range(1,m+1):
print ("{0}*{1}={2}".format(m,n,(m*n),end="\t"))
print()
break语句
break语句可以用于while和for循环,用来结束整个循环。当有嵌套循环时,break语句只能跳出最近一层的循环。
continue语句
continue语句用于结束本次循环,继续下一次。
else语句
循环被break的情况下,不执行else
循环代码优化
虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上“斤斤计较”。编写循环时,遵守下面三个原则可以大大提高运行效率,避免不必要的抵消计算 1.尽量减少循环内部不必要的计算 2.嵌套循环中,尽量减少内层循环的计算,尽可能向外提 3.局部变量查询较快,尽量使用局部变量 其他优化手段 1.连接多个字符串,使用join()而不是用+ 2.列表进行元素插入和删除,尽量在列表尾部操作
zip()并行迭代
推导式创建序列
推导式是从一个或者多个迭代器快速创建序列的一种方法。它可以将循环和条件判断结合,从而避免通常的代码
列表推导式
列表推导式生成列表,语法如下: [表达式 for item in 可迭代对象] 或者{表达式 for item in 可迭代对象 if 条件判断}
字典推导式
字典的推导式生成字典, {key_expression: value_expression for 表达式 in 可迭代对象}
my_text='i love you, i love sxt, i love gaoqi'
char_count={c:my_text.count(c) for c in my_text}
print(char_count)
集合推导式
和列表相似
生成器推导式(生成元组)
一个生成器只能运行一次。第一次迭代可以得到数据,第二次迭代发现数据已经没有了
|