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的主要内容,如果未能解决你的问题,请参考以下文章

Python之路22-列表生成式和函数生成器

python学习笔记函数return多个值,列表推导式和交换两个变量的值

python-----列表生成式和列表生成器表达

Python列表生成式和生成器

python的列表生成式和生成器

python 列表生成式和生成器的速度性能比较