python中if elif语句优化_在Python中优化ifelif表达式

实现最佳性能的一种简单方法是构建一个大表,存储所有可能的(a, b)对的结果。但是,这可能会消耗大量内存,并且对于大的n来说是不实际的

下面是如何使用普通方法优化代码,如下所述。在

1。将显式and用于逻辑表达式

正如评论中所建议的那样,由于and的short circuiting行为,这更具可读性和效率。在我的测试中,仅此更改就将运行时减少60%。在

2。消除冗余条件

由于a和b的范围从1到{},如果a == n**2,那么{}永远无法实现。因此,条件a%n == 0 and a != n**2 and b == a + 1中的a != n**2检查是多余的。第三种情况也是如此。消除它们可以简化这些条件:...

elif a % n == 0 and b == a + 1:

elif (a - 1) % n == 0 and b == a - 1:

...

3。避免在条件下重复计算

注意,上述条件得到改善

a % n == 0 and b == a + 1和{}是abs(a - b) == 1的特例。{cd16>因此可以使用这些条件重写。在

^{pr2}$

还要注意,值abs(a - b)与所有条件相关。因此,可以在检查所有条件之前计算它。随着这种变化,代码变成d = abs(a - b)

if d == 0: return 6

elif d == 1:

if a

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值