Python基础第五节—循环
for循环和可迭代对象遍历
for 变量 in 可迭代对象:
循环体语句
可迭代对象包括:序列(字符串、元组、列表)、字典、迭代器对象(iterator)、生成器函数(generator)、文件对象。
字典的遍历
for x in d: 或 for x in d.keys(): #遍历字典中所有键
for x in d.values(): #遍历字典中所有值
for x in d.items(): 遍历字典中所有键值对
嵌套循环
生成九九乘法表:
for i in range(1,10): for j in range(1,i+1): print('{0}*{1}={2}'.format(i,j,i*j),end='\t') print('\n')
break语句和continue语句
break语句可用于while和for循环,用于结束整个循环。
当有嵌套语句时,break只能跳出最近一层循环。
continue语句用于结束本次循环而进行下一次循环。
循环嵌套时,continue也只能跳出最近一层循环。
empNum=0 salarySum=0 salary=[] while True: s=input('请输入员工薪资(按Q或q结束) ') if s.upper()=='Q': print('录入完成,退出') break if float(s)<0: print('输入有误!') continue empNum+=1 salarySum+=float(s) salary.append(float(s)) print('员工数量:{0}'.format(empNum)) print('平均工资:{0}'.format(salarySum/empNum))
循环后附带的else语句
while、for循环可以附带一个else语句(可选),若循环没有被break终止,则执行else语句。否则不执行。
循环代码优化
三原则:
1.尽量减少循环内部不必要的运算;
2. 嵌套循环中,尽量减少内层循环的计算,尽量往外提;
3. 局部变量查询较快,尽量使用局部变量
例:
for i in range(1000): result=[] for m in range(10000): result.append(i*1000+m*100)
for i in range(1000): result=[] c=i*1000 for m in range(10000): result.append(c+m*100)
第二段代码效率优于第一段,因为第一段代码计算了1000万次i*1000,而第二段只计算了1000次。
由此可见,应尽量减少循环中的运算,尽量提到循环外面。
其他优化方法:
1.连接多个字符串,尽量使用join()而非+号;
2.列表进行元素插入和删除,尽量在列表尾部进行;
使用zip()进行并行迭代
for a,b,c in zip(alist,blist,clist):
循环次数为最短的list的长度
推导式创建序列
列表推导式:
cells=[(row,col) for row in range(5) for col in range(5)] print(cells)
字典推导式:
{key_expression : value _expression for 表达式 in 可迭代对象}
和列表推导式相似,字典推导式也可加条件判断,也可有多个for循环。
#统计文本中字符出现的个数 my_test='Good night,miao' d={c:my_test.count(c) for c in my_test} print(d)
集合推导式:
与列表推导式的语法相似。
s={x*2 for x in range(10) if x%2==1}
生成器推导式(生成元组):
t=(x*2 for x in range(10) if x%2==1)生成的并非元组,而是生成器对象。
一个生成器只能运行一次,第一次迭代可以遍历得到数据,第二次迭代就得不到了,因为指针已指向末尾。
- Python_循环语句基础(while循环和for循环)
- 学习笔记☞ python 基础(python3)【三】(转义字符,字符串,while循环,break语句,列表)
- Python基础:06条件和循环
- python语法基础-if for while循环-range-函数基础
- Python新手学习基础之循环语句——While循环
- Python语法基础(八):while循环
- 重学Python - Day 02 - python基础 -> if语句应用 + while循环应用
- python基础-条件分支和循环
- 学习笔记(04):零基础搞定Python数据分析与挖掘-while循环的介绍与使用(二)
- python3基础-08 循环语句
- Python基础教程笔记——第5章:条件,循环和其他语句
- Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
- 【每天1分钟】PYTHON基础之条件与循环(for循环)
- 【每天1分钟】PYTHON基础之条件与循环(else 子句)
- python基础代码(猜年龄、从最内层跳出多层循环、简单的购物车程序)
- python基础教程之循环介绍
- 廖雪峰网站:学习python基础知识—循环(四)
- python基础条件和循环
- Python基础————9、While 循环语句
- python基础:循环语句和判断语句