这篇文章主要介绍了python如何使用generator节省内存,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
generator节省内存
之前,我向你展示了list comprehension。但是列表并不总是最好的选择。假设我们有一个非常大的列表有10000项我们想计算所有项的和。当然,我们可以使用列表来实现这一点,但是我们可能会遇到内存问题。这是一个我们可以使用生成器的完美例子。与list comprehension类似,我们可以使用生成器理解,它具有相同的语法,但使用圆括号而不是方括号。生成器懒洋洋地计算我们的元素,即。,它一次只生成一个条目,并且只在被请求时生成。如果我们计算这个生成器的和,我们看到我们得到了相同的正确结果。
# list comprehension my_list = [i for i in range(10000)] print(sum(my_list)) # 49995000 # generator comprehension my_gen = (i for i in range(10000)) print(sum(my_gen)) # 49995000
感谢你能够认真阅读完这篇文章,希望小编分享的“python如何使用generator节省内存”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!