Python支持四种类型的推导式:列表、字典、集合和生成器
。这些推导式不仅提供了创建这些数据结构的更简洁的语法,而且在性能上也优于传统的for循环
。这是因为这些推导式在Python的C语言底层实现中得到了优化。
import timeit
def generate_squares_for_loop():
squares = []
for i in range(1000):
squares.append(i * i)
return squares
def generate_squares_comprehension():
return [i * i for i in range(1000)]
print(timeit.timeit(generate_squares_for_loop, number=10000))
# 0.2797503340989351
print(timeit.timeit(generate_squares_comprehension, number=10000))
# 0.2364629579242319
通过一个简单的实验,比较列表推导式和for循环
的速度,结果表明列表推导式
具有更快的执行速度。