MST

星途 面试题库

面试题:Python循环中条件判断优化之逻辑简化

在Python的for循环中,有这样一段代码: ```python my_list = [1, 2, 3, 4, 5] result = [] for num in my_list: if num > 2 and num % 2 == 0: result.append(num) ``` 请优化这段代码中的条件判断部分,使代码执行效率更高,同时说明优化的思路。
11.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 优化后的代码
my_list = [1, 2, 3, 4, 5]
result = [num for num in my_list if num > 2 and num % 2 == 0]
  1. 优化思路
    • 列表推导式:使用列表推导式来替代传统的for循环和条件判断。列表推导式在Python中是一种高效的构建列表的方式,它在底层使用C语言实现,通常比显式的for循环运行速度更快。
    • 短路原则:对于num > 2 and num % 2 == 0这个条件判断,and运算符遵循短路原则,即如果num > 2False,就不会再判断num % 2 == 0,所以条件顺序无需调整。 这种短路机制在原代码和优化后的代码中都能保证效率,在实际复杂条件判断中,合理利用短路原则很重要。