python列表生成式

1、列表成生式

列表生成

现在有个需求,[1,2,3,4,5,6,7,8,9,10],要求每个值都加1.

 
b=[i *2 for i in range(1,10)]
print(b)

注意:列表生成试用的是[]

 

生成器:

只有在调用时才会生成相应的数据。

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

b=(i *2 for i in range(1,10))

print(b)

=====结果=====
<generator object <genexpr> at 0x000002C7C2AC9990>
注意:生成器是小括号的方式,这样就成了一个生成器。他只有一个方法,就是next方法,只记住当前的位置,他的上一位与下一位他不知道是谁。

  


原文地址:https://www.cnblogs.com/zhangzihong/p/6569092.html