标签:生成器 range 数据 com 列表 print 三元 生成式 image
列表生成器格式:
a=(i for i in range(10)
print(a)
输出为:
<generator object <genexpr> at 0x0000000001DC77C8>
并没有输出列表,只是返回了一个表达式,generato就是列表生成器的意思,里面只是储存了生成器的方法,当还没有生成。节省了内存空间。
可以用next函数调用即可生成结果:
**a=(i for i in range(10))
print(a)
print(next(a))
print(next(a))
print(next(a))
print(next(a))
print(list(a))
输出结果为:
<generator object <genexpr> at 0x0000000001DC77C8>
0
1
2
3
[4, 5, 6, 7, 8, 9]
**
**注意:生成器只能往前走,不能后退。已经生成的数据,就不再包含在剩余的表达式里面了,程序走到最后会报错**
生成器只有一个next方法,不能切片。
PYTHON学习0034:函数---列表生成式和生成器---2019-6-29
标签:生成器 range 数据 com 列表 print 三元 生成式 image
原文地址:https://blog.51cto.com/13543767/2415310