Python生成器表达式是一种简洁的创建生成器的方法,它允许你在一行代码中生成一个生成器对象。生成器表达式的主要优点是它们比列表推导式更加内存高效,因为它们是惰性计算的,只在需要时生成值。
以下是一些使用生成器表达式的示例:
squares = (x**2 for x in range(10))
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_squares = (x**2 for x in numbers if x % 2 == 0)
with open('file.txt', 'r') as file:
lines = (line.upper() for line in file)
生成器表达式可以简化编程模型,使代码更加简洁易读。然而,需要注意的是,生成器表达式是一次性的,当你需要多次迭代生成器时,应该使用生成器函数。