Python生成器表達(dá)式是一種簡潔的創(chuàng)建生成器的方法,它允許你在一行代碼中生成一個(gè)生成器。生成器表達(dá)式在需要處理大量數(shù)據(jù)或懶加載數(shù)據(jù)的場景下非常有用,因?yàn)樗鼈冎辉谛枰獣r(shí)生成數(shù)據(jù),從而節(jié)省內(nèi)存。
要增強(qiáng)程序擴(kuò)展性,可以使用以下方法:
def create_generator(data, func):
return (func(item) for item in data)
data = [1, 2, 3, 4, 5]
# 使用生成器表達(dá)式計(jì)算平方
squared_generator = create_generator(data, lambda x: x ** 2)
for num in squared_generator:
print(num)
data = {
'a': [1, 2, 3],
'b': [4, 5, 6],
'c': [7, 8, 9]
}
# 使用生成器表達(dá)式計(jì)算每個(gè)子列表的和
sum_generator = (sum(sublist) for sublist in data.values())
for total in sum_generator:
print(total)
# generator_utils.py
def filter_data(data, condition):
return (item for item in data if condition(item))
def map_data(data, func):
return (func(item) for item in data)
# main.py
from generator_utils import filter_data, map_data
data = [1, 2, 3, 4, 5]
# 使用生成器表達(dá)式過濾偶數(shù)并計(jì)算平方
filtered_and_squared_generator = filter_data(map_data(data, lambda x: x ** 2), lambda x: x % 2 == 0)
for num in filtered_and_squared_generator:
print(num)
通過這些方法,你可以使生成器表達(dá)式更具擴(kuò)展性,從而提高程序的可維護(hù)性和可重用性。