国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Python Itertools

2019-11-14 12:13:10
字體:
來源:轉載
供稿:網友

今天讀完了《python標準庫》的第三章,前面兩章(字符,容器)日后再補,今天先總結第三章:算法部分(總覺得這個算法翻譯錯了……)記得很有意思的是itertools.先總結一下吧。書上所列舉的分解和合并迭代器有

chainizipimap islice

chain

說下自己的想法,chain顧名思義,鏈子,可以將多個列表聯合起來。書上所列舉的代碼

from itertools import * for i in chain([1,2,3],['a','b','c']): PRint i,

應該還是相當明顯的。

izip

下面說下 izip 這個很好玩

from itertools import * for i in izip([1,2,3],['a','b','c'],[1,4,5,4]): print i

代碼如上,輸出為 (1, 'a', 1) (2, 'b', 4) (3, 'c', 5) 就想壓縮包一樣,把三個都壓縮在一起,生動形象。

imap

下面是是imap,書上的解釋我的理解為,每迭代一次,提取數,放入函數,然后返回值。 書上代碼為:

from itertools import * for i in imap(lambda x:2*x,xrange(5)): print i

就比如從0到4調用 然后放入2*x這個函數。

islice

islice就是個切片,不詳細說了。

過濾

然后所看的內容是過濾,書上所介紹的內容有下面幾個

dropwhiletakewhileifilterifilterfalse

dropwhile

看名字的話是drop while(什么什么)的。

from itertools import * for i in dropwhile(lambda x:x>0,(1,5,-1,5,8)): print i

輸出是 -1 5 8 那么就是while(什么什么) drop 知道第一次判斷出現false之后 不扔

takewhile

和上面正好相反,while(什么什么) take 知道一次出現false之后不take

ifilter

過濾器,只留下表示為True的

from itertools import * for i in ifilter(lambda x:x>0,(1,5,-1,5,8)): print i,

輸出結果為1 5 5 8

ifilterfalse

false過濾器,可以想象,就不說了

今天就先寫這么多吧,感覺寫寫蠻有意思的哈哈.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄浦区| 嘉峪关市| 衡水市| 贺兰县| 合川市| 奉贤区| 南郑县| 那坡县| 左贡县| 娱乐| 湖州市| 柏乡县| 邹平县| 射阳县| 西平县| 彭泽县| 长岛县| 扎赉特旗| 盱眙县| 离岛区| 莒南县| 池州市| 南投市| 洪雅县| 栖霞市| 衡南县| 当阳市| 乌拉特中旗| 海兴县| 长岛县| 曲阜市| 尚志市| 辉县市| 乐业县| 大方县| 公安县| 攀枝花市| 新昌县| 东乡县| 阿拉善右旗| 乌海市|