新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:itertools怎樣對(duì)python3代碼單行處理?
之前我們就有提到過(guò),foe循環(huán)語(yǔ)句如果加上嵌套的后,并不是很多python初學(xué)者理解的簡(jiǎn)單代碼。正巧小編最近就遇到了對(duì)代碼進(jìn)行簡(jiǎn)單處理的問(wèn)題,涉及到了嵌套的for循環(huán)。本篇代碼的處理需要借助itertools來(lái)進(jìn)行單行實(shí)現(xiàn),想要對(duì)代碼進(jìn)行簡(jiǎn)化的小伙伴,一起來(lái)看看怎么操作吧。

我們經(jīng)常會(huì)如下這種嵌套的for循環(huán)代碼
list1 = range(1,3) list2 = range(4,6) list3 = range(7,9) for item1 in list1: for item2 in list2: for item3 in list3: print(item1+item2+item3)
這里僅僅是三個(gè) for 循環(huán),在實(shí)際編碼中,有可能會(huì)有更層。
這樣的代碼,可讀性非常的差,很多人不想這么寫(xiě),可又沒(méi)有更好的寫(xiě)法。
這里介紹一種常用的寫(xiě)法,使用itertools這個(gè)庫(kù)來(lái)實(shí)現(xiàn)更優(yōu)雅易讀的代碼。
from itertools import product list1 = range(1,3) list2 = range(4,6) list3 = range(7,9) for item1,item2,item3 in product(list1, list2, list3): print(item1+item2+item3)
輸出如下
$ python demo.py 12 13 13 14 13 14 14 15
從上面輸出的代碼我們可以看出,代碼方面已經(jīng)非常精簡(jiǎn),我們看起來(lái)也不再費(fèi)勁了。想要獲得跟小編一樣效果的小伙伴,趕緊學(xué)起來(lái)吧。
分享名稱:創(chuàng)新互聯(lián)Python教程:itertools怎樣對(duì)python3代碼單行處理?
地址分享:http://www.5511xx.com/article/ccieoid.html


咨詢
建站咨詢
