PYTHON学习0034:函数---列表生成式和生成器---2019-6-29
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PYTHON学习0034:函数---列表生成式和生成器---2019-6-29相关的知识,希望对你有一定的参考价值。
```
也可以在列表生成器里加三元运算:
a=[i5 if i>5 else i2 for i in range(11)]
print(a)
输出为:
[0, 2, 4, 6, 8, 10, 30, 35, 40, 45, 50]
列表生成器格式:
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的主要内容,如果未能解决你的问题,请参考以下文章