python迭代器實(shí)例簡(jiǎn)析
本文實(shí)例講述了python迭代器的簡(jiǎn)單用法,分享給大家供大家參考。具體分析如下:
生成器表達(dá)式是用來(lái)生成函數(shù)調(diào)用時(shí)序列參數(shù)的一種迭代器寫(xiě)法
生成器對(duì)象可以遍歷或轉(zhuǎn)化為列表(或元組等數(shù)據(jù)結(jié)構(gòu)),但不能切片(slicing)。當(dāng)函數(shù)的唯一的實(shí)參是可迭代序列時(shí),便可以去掉生成器表達(dá)式兩端>的圓括號(hào),寫(xiě)出更優(yōu)雅的代碼:
>>>> sum(i for i in xrange(10)) 45
sum聲明:
sum(iterable[, start])
Sums start and the items of an iterable from left to right and returns the total. start defaults to 0. The iterable‘s items are normally numbers, and are not allowed to be strings. The fast, correct way to concatenate a sequence of strings is by calling ''.join(sequence). Note that sum(range(n), m) is equivalent to reduce(operator.add, range(n), m) To add floating point values with extended precision, see math.fsum().
參數(shù)要求傳入可迭代序列,我們傳入一個(gè)生成器對(duì)象,完美實(shí)現(xiàn)。
注意區(qū)分下面代碼:
上面的j為生成器類型,下面的j為list類型:
j = (i for i in range(10)) print j,type(j) print '*'*70 j = [i for i in range(10)] print j,type(j)
結(jié)果:
<generator object <genexpr> at 0x01CB1A30> <type 'generator'> ********************************************************************** [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <type 'list'>
希望本文所述對(duì)大家Python程序設(shè)計(jì)的學(xué)習(xí)有所幫助。
相關(guān)文章
Python的子線程和子進(jìn)程是如何手動(dòng)結(jié)束的?
今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著如何手動(dòng)結(jié)束Python的子線程和子進(jìn)程展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06python使用pywinauto驅(qū)動(dòng)微信客戶端實(shí)現(xiàn)公眾號(hào)爬蟲(chóng)
這個(gè)項(xiàng)目是通過(guò)pywinauto控制windows(win10)上的微信PC客戶端來(lái)實(shí)現(xiàn)公眾號(hào)文章的抓取。代碼分成server和client兩部分。server接收client抓取的微信公眾號(hào)文章,并且保存到數(shù)據(jù)庫(kù)。另外server支持簡(jiǎn)單的搜索和導(dǎo)出功能。client通過(guò)pywinauto實(shí)現(xiàn)微信公眾號(hào)文章的抓取。2021-05-05python爬取網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件
這篇文章主要為大家詳細(xì)介紹了python爬取網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Python基于checksum計(jì)算文件是否相同的方法
這篇文章主要介紹了Python基于checksum計(jì)算文件是否相同的方法,涉及Python針對(duì)二進(jìn)制文件的讀取與判定技巧,需要的朋友可以參考下2015-07-07Django celery實(shí)現(xiàn)異步任務(wù)操作,并在后臺(tái)運(yùn)行(守護(hù)進(jìn)程)
這篇文章主要介紹了Django celery實(shí)現(xiàn)異步任務(wù)操作,并在后臺(tái)運(yùn)行(守護(hù)進(jìn)程),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03