新手用python嵌套for循环注意事项

文章讨论了嵌套循环的效率问题,建议将循环次数多的循环放在内层,并减少循环条件的运算。对于文件操作,对比了使用open()与withopen()的区别,特别是在嵌套循环中的应用。作者提醒,不恰当的文件操作可能导致文件只被打开一次,从而引发错误,并给出了改进方案。
摘要由CSDN通过智能技术生成

其实嵌套for循环需要的计算量偏大,能优化或者不用嵌套是最好了。

结合其他博主:

嵌套循环注意事项

1 将循环次数多的循环放在内侧,循环次数少的循环放在外侧;
2 减少循环变量的实例化;(就是循环条件里尽量少设运算,只设循环满足条件,让循环能进行下去,这样能加快运算速度。)

那我再增加一点,当用for 打开文件时,对文件的每一行处理需要注意的事项。

文件打开有两种方式:
第一种:
需要打开+关闭

file=open()
file.close()

第二种:
不需要后续关闭,但其里面的代码都需要缩进

with open() as file:
	for line in file:

两种都可以,看个人需求。
像我一般喜欢第一种方式,但对于嵌套for循环,可能就容易踩坑了。
一般是类似这样的嵌套👇

for line in file:
	for line1 in res:

需要明白一点的是,对于file这个文件的每一行,都把res文件遍历了一遍,相当于file文件有多少行,就把res文件打开了多少遍。
如果设置成这样👇

file=open()
res=open()

for line in file:
	for line1 in res:


file.close()
res.close()

那恭喜你,完美踩坑,因为整个代码运行下来,res文件就打开了一次啊,你不出错谁出错。

可以改成:

file=open()

for line in file:
	with open() as res:
		for line1 in res:


file.close()

这里只写了一种改进方法,当然也可以都用with open() as … 这种格式;或者在第一个for循环之后再打开和关闭文件;看个人偏好啦。

OVER

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值