python学习19--生成器
1.生成器作用
函數可以暫停或者掛起,并在需要的時候從程序離開的地方繼續或者重新開始。
2.標志:
在函數中定義有yield語句。需要注意的是:每一個生成器函數又相當于一個迭代器。
每一個yield相當于return,迭代返回。可以使用next()函數進行依次訪問每一個yield語句。
3.列表推導式:
a=[i for i in range(100) if not(i%2) and i&3]
則:a=[2,4,8....]
字典(大括號加冒號標志,沒有冒號是一個集合)推導式:
b={i:i%2 for i in range(10)}
b=[0:true,1:false...]
集合推導式:
c={i for i in [1,1,2,3,4,5,6,1,2,3]}
字符串迭代器:
沒有。因為在雙引號內就是一個字符串,不存在邏輯關系
元祖生成器:
e=(i for i in range(10))
則:e不打印數據。此時e為一個生成器,即此該公式為生成器推導式。
注意:如果將生成器推導式作為函數的參數,不需要加括號(也可加)即可,即:sum(i for i in range(10))
轉載于:https://www.cnblogs.com/zjh225901/p/6347589.html
總結
以上是生活随笔為你收集整理的python学习19--生成器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数组的各种方法
- 下一篇: 算法训练 最大的算式