Python中的循环代码优化技巧

虽然计算机越来越快,空间也越来越大,但我们仍要在性能问题上“斤斤计较”,建立一个正确的编程观念,避免低效的做法,养成高手的习惯。

遵循下面三个原则可大大提高运行效率,避免不必要的低效计算。

一、尽量减少循环内部不必要的计算

二、嵌套循环中,尽量减少内层循环的计算,尽可能将计算提到外层循环中

代码测试:

 

 

三、局部变量查询较快,尽量使用局部变量

在任何语言中,局部变量都会更快。大多数局部变量都是作为寄存器变量实现的,或者被推送到本地堆栈的顶部附近,因此通常可以更快地访问它们。全局变量存储在堆栈的更高位置(如果它们不在堆上),因此计算它们访问它们的地址会变慢。

其他优化小技巧:

1、连接多个字符串,使用join()而不使用+

join()函数 :连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

 

join()函数与+运算符的内存申请的方式不同。

在使用+运算符时,每一次循环都需要为str_link申请新的内存,字符串是不可变对象,你不能继续使用str_link在内存中原有的区域,只能在完成计算后,为结果申请一片新的内存区域,然后让str_link指向它。

使用join时,并不存在反复申请内存的情况,因为事先就已经知道有多少字符串需要拼接,那么可以一次性将内存申请好,存储拼接后的字符串。

2、列表进行元素的插入和删除,尽量在列表的尾部进行操作

当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。


  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值