python列表生成器迭代器實例解析
這篇文章主要介紹了python列表生成器迭代器實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
列表生成式
例如 有一個列表
a =[2,3,4,5]
需要將列表都加上1
#第一種方法 for i in map(lambda i:i+1,a)
#第二種方法 for index,i in enumerate(a): a[index] +=1 print(a)
#第三種,簡單列表生成式 a = [i+1 for i in a] print(a) #加個三元運算符 a = [ i *2 if i>3 else i for i in a]
1.列表生成器_惰性運算
1.1 生成器
中括號就是列表生成式,小括號就是列表生成器
a = ( i *2 for i in range(a))
def fib(num): count = 0 a,b = 0 ,1 #a=0, b= 1 while count < num: tmp = a a = b b = a + tmp #print(a) count +=1 yield a #返回a, 同時掛起當前這個函數(shù), a返回給了通過__next__()調用當前函數(shù)的人 #return a print("done...") f = fib(10) print(f.__next__())
迭代器
所有的生成器都是迭代器,迭代器不一定都是生成器(不同的角度,用iter方法,python
內(nèi)存對象認為迭代器,從本質上就一回事)
例如 python 3里面 range(0,10) 這實際上就是一個迭代器
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
基于數(shù)據(jù)歸一化以及Python實現(xiàn)方式
今天小編就為大家分享一篇基于數(shù)據(jù)歸一化以及Python實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07python實現(xiàn)12306搶票及自動郵件發(fā)送提醒付款功能
本文給大家分享python實現(xiàn)12306搶票及自動郵件發(fā)送提醒付款功能,文章沒有給大家貼出完整代碼,只是技術交流,感興趣的朋友跟隨腳本之家小編一起看看吧2018-03-03python生成多個只含0,1元素的隨機數(shù)組或列表的實例
今天小編就為大家分享一篇python生成多個只含0,1元素的隨機數(shù)組或列表的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11