面试题答案
一键面试- 普通for循环方式:
result = []
for i in range(1, 10001):
result.append(i)
- 列表推导式方式:
result = [i for i in range(1, 10001)]
- 列表推导式性能更好的原因:
- 底层实现:列表推导式是用C语言实现的,在解释器层面进行了优化,执行速度更快。而普通for循环是Python字节码层面的操作,相对较慢。
- 迭代过程:列表推导式在创建列表时是一次性生成整个列表,减少了中间变量的使用和额外的函数调用开销。普通for循环每次通过
append
方法添加元素,每次调用append
都有一定的开销。