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

你可能感兴趣的:(python中if,elif语句优化)