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方法,只记住当前的位置,他的上一位与下一位他不知道是谁。