列表推导式
python为大家提供了一种快速生成列表的方案,这种叫做列表推导式
如
[i for i in range(1,101)]
[x for x in range(101) if x%2==0]
[x*y for x in range(1,10) for y in range(1,10)]
- 优点: 列表推导式,能够快速生成我们想要的列表,为我们节约了大量时间
- 缺点:列表推导式,直接生成值,也就是说,直接加载到内存中,内存占有太大!!!
列表生成器
- 将列表推导式中列表[ ]换成(),就会变成列表生成器
- 使用yield关键字将函数转换为列表生成器
注意:调用该函数,该函数的返回值就是生成器
补充
id 查看对象的内存地址
next 能够迭代出迭代器的下一个值
-
生成器的值需要使用next函数一个一个迭代(注意:迭代完就没没有值了)
-
也可以使用for循环,来迭代每一个值