国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 科技| 墨江| 随州市| 容城县| 清镇市| 同仁县| 陈巴尔虎旗| 墨竹工卡县| 永州市| 永康市| 田林县| 绥江县| 伽师县| 威信县| 建始县| 绥棱县| 淮南市| 灵石县| 临城县| 曲水县| 措美县| 西林县| 宣武区| 封丘县| 淳化县| 石渠县| 和平区| 太保市| 太原市| 旌德县| 治县。| 怀安县| 永年县| 炉霍县| 郁南县| 威海市| 个旧市| 沐川县| 河西区| 承德市| 绥中县|