Python生成器表達(dá)式是一種簡(jiǎn)潔的創(chuàng)建生成器的方法,它允許你在一行代碼中生成一個(gè)生成器對(duì)象。生成器表達(dá)式的主要優(yōu)點(diǎn)是它們比列表推導(dǎo)式更加內(nèi)存高效,因?yàn)樗鼈兪嵌栊杂?jì)算的,只在需要時(shí)生成值。
以下是一些使用生成器表達(dá)式的示例:
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)
生成器表達(dá)式可以簡(jiǎn)化編程模型,使代碼更加簡(jiǎn)潔易讀。然而,需要注意的是,生成器表達(dá)式是一次性的,當(dāng)你需要多次迭代生成器時(shí),應(yīng)該使用生成器函數(shù)。