day19

列表解析生成的是一个完整的列表。昨天已经做过实验,处理很大的数据量时,用列表解析会消耗大量的系统资源。所以处理很大的数据量时,应该用生成器表达式。生成器返回的是一个生成器对象,而非一个大列表。所以这样会节约大量的系统资源。

生成器函数:

def test():
    yield 1
    yield 3
    yield 2
print(test())
result:
<generator object test at 0x00000000011C8150>
其实是返回了一个生成器对象的内存地址。

如何调用:

def test():
    yield 1
    yield 3
    yield 2
print(test().__next__())
print:
1

yield用来保存函数的状态。
生成器的好处:
1. 占空间小
2. 效率高

猜你喜欢

转载自blog.csdn.net/weixin_41687289/article/details/80091448