python[day4]

**列表生成式:
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

猜你喜欢

转载自blog.51cto.com/14153384/2336681