MST

星途 面试题库

面试题:Python列表推导式性能对比基础问题

在Python中,有一个普通的for循环和一个列表推导式,都用于生成1到10000的整数列表。请分别写出这两种方式的代码,并简要分析为什么列表推导式在某些情况下性能更好。
24.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

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