**列表生成式:
a = [1,2,3]
>> a = [1,2,3]
>> a
[1, 2, 3]
>> [ i2 for i in range(10) ]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]*
列表里面可以写函数
相当于:
a=[]
for i in range(10):
a.append(i*2)
输出a:
[0.2.4,6,8,10,12,14,16,18]
列表生成器
>> ( i*2 for i in range(10) )
<generator object <genexpr> at 0x000001FE4BE6A308>>> b=( i*2 for i in range(10) )
>> for i in b:
... print(i)
...
0
2
4
6
8
10
12
14
16
18
生成器 只有在调用时才会生成相应的数据
只记录当前位置
只有一个next()方法
可以用c.next()查看下个数据
>> b=( i*2 for i in range(100000) )
>> b
<generator object <genexpr> at 0x000001FE4BE6A410>
>> b.next()
0
>> b.next()
2
>> b.next()
4
>> b.next()
6
>> b.next()
8