Pythonの学習0034:生成的な機能---リストと発電機--- 2019年6月29日

Pythonの学習0034:生成的な機能---リストと発電機--- 2019年6月29日
Pythonの学習0034:生成的な機能---リストと発電機--- 2019年6月29日
Pythonの学習0034:生成的な機能---リストと発電機--- 2019年6月29日
Pythonの学習0034:生成的な機能---リストと発電機--- 2019年6月29日
`` `
三オペレータリスト生成リガおそれ:
[A = I 。5 I>他5 I IF Iのための範囲(11)2]
印刷(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方法,不能切片。

おすすめ

転載: blog.51cto.com/13543767/2415310