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

首頁 > 學院 > 開發(fā)設計 > 正文

Python Itertools

2019-11-14 11:42:31
字體:
來源:轉載
供稿:網(wǎng)友

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

chainizipimap islice

chain

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

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,書上的解釋我的理解為,每迭代一次,提取數(shù),放入函數(shù),然后返回值。 書上代碼為:

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

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

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 知道第一次判斷出現(xiàn)false之后 不扔

takewhile

和上面正好相反,while(什么什么) take 知道一次出現(xiàn)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過濾器,可以想象,就不說了

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贞丰县| 宁阳县| 略阳县| 安达市| 林口县| 庆阳市| 会宁县| 安丘市| 岳普湖县| 米脂县| 碌曲县| 崇文区| 铜鼓县| 石台县| 肇州县| 马边| 山阴县| 曲周县| 甘南县| 莲花县| 图片| 淮南市| 伊宁县| 永定县| 牟定县| 桐城市| 霍林郭勒市| 大英县| 大方县| 梁河县| 金沙县| 普兰店市| 鹤峰县| 道真| 荆门市| 岢岚县| 哈尔滨市| 奉贤区| 扎鲁特旗| 崇文区| 通渭县|