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