Python生成器表達式是一種簡潔的創建生成器的方法,它允許你在一行代碼中生成一個生成器。生成器表達式在需要處理大量數據或懶加載數據的場景下非常有用,因為它們只在需要時生成數據,從而節省內存。
要增強程序擴展性,可以使用以下方法:
def create_generator(data, func):
return (func(item) for item in data)
data = [1, 2, 3, 4, 5]
# 使用生成器表達式計算平方
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]
}
# 使用生成器表達式計算每個子列表的和
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]
# 使用生成器表達式過濾偶數并計算平方
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)
通過這些方法,你可以使生成器表達式更具擴展性,從而提高程序的可維護性和可重用性。