Python for循环可迭代对象的遍历,循环嵌套,循环代码的优化技巧,推导式的创建

1、for循环和可迭代对象遍历
for 循环通常用于可迭代对象的遍历
for 变量 in 可迭代对象:
循环体语句

python包含以下几种可迭代对象:1、序列(字符串、列表、元组);2、字典;3、迭代器对象(iterator);4、生成器函数(generator)

2、字典的遍历

for x in d.keys()
for x in d.values()
for x in d.items()

3、range对象 range是一个迭代器对象

4、1~100奇、偶数和

sum_all=0
sum_odd=0
sum_even=0
for x in range(100):
	sum_all+=x
	if x%2==1:
		sum_odd+=x
	else:
		sum_even+=x
print('1~100累加总和{0},奇数和{1},偶数和{2}',format(sum_all,sum_odd,sum_even))

4、循环嵌套

for x in range(5):
    for y in range(5):     #每行有5个x,x从0开始有5个
        print(x,end='\t')
    print('\n')      #起到换行作用

结果:

0	0	0	0	0
1	1	1	1	1
2	2	2	2	2
3	3	3	3	3
4	4	4	4	4

5、九九乘法表

for m in range(1,10):
    for n in range(1,m+1):                #只显示下三角,n 的值不大于m
        print('{0}*{1}={2}'.format(m,n,m*n),end='\t')
    print()   #起到换行作用

在这里插入图片描述
6、break 语句可用于while和for循环。当有嵌套循环时,break语句只能跳出最近一层的循环。

7、while、for 语句可以附带一个else语句(可选)。如果for、while语句没有被break语句结束,则执行else语句,否则不执行。

while 条件表达式:
	循环体
else:
	语句块	

8、循环代码优化
准则:
1、尽量减少循环内不必要的计算;
2、嵌套循环中,尽量减少内层循环的计算,尽可能向外提;
3、局部变量查询较快,尽量使用局部变量。

其他优化手段:
1、连接多个字符串,使用join()函数而不是+
2、列表进行元素的插入和删除,尽量在列表的尾部操作

9、zip()的并行迭代

names={'高淇,'高老二','高老三','高老四''}
ages={18,16,20,25}
jobs={'老师','程序员','公务员'}
for name,age,job in zip(names,ages,jobs):
	print('{0}-{1}-{2}'.format{name,age,job})

for i in range(3):
	print{'{0}-{1}-{2}'.format(names[i],ages[i],jobs[i])}

10、推导式穿件序列_列表推导式_字典推导式
cells=[(row,col)for row in range(1,10) for col in range(1,10)]
print(cells)

生成器推导式(生成元组)

(x for x in range(1,100) if x%9==0

一个生成器只能运行一次。第一次迭代可以得到数据,第二次迭代发现数据已经没有了。

gnt=(x for x in range(4))
print(tuple(gnt))
print(tuple(gnt))

结果:(0123)
	()  空的

11、画多个同心圆环

t=turtle.Pen()
t.speed(0)
t.width(4)
my_colors=('red','green','yellow','black')

for i in range(100):  #0,1,2,3,4
    t.penup()
    t.goto(0,-i*10)     #0,-100,-200,-300,-400
    t.pendown()
    t.color(my_colors[i%len(my_colors)])
    t.circle(15+i*10)        #100,200,300,400,500
turtle.done()   #执行完串口依旧在

12、函数遇到return()结束

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_chao118

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值