python迭代器實例簡析
本文實例講述了python迭代器的簡單用法,分享給大家供大家參考。具體分析如下:
生成器表達式是用來生成函數(shù)調(diào)用時序列參數(shù)的一種迭代器寫法
生成器對象可以遍歷或轉(zhuǎn)化為列表(或元組等數(shù)據(jù)結(jié)構(gòu)),但不能切片(slicing)。當(dāng)函數(shù)的唯一的實參是可迭代序列時,便可以去掉生成器表達式兩端>的圓括號,寫出更優(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ù)要求傳入可迭代序列,我們傳入一個生成器對象,完美實現(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'>
希望本文所述對大家Python程序設(shè)計的學(xué)習(xí)有所幫助。
相關(guān)文章
Python使用eel模塊創(chuàng)建GUI應(yīng)用程序
在Python中,有許多庫和模塊可以用來創(chuàng)建圖形用戶界面(GUI)應(yīng)用程序,其中一個流行的選擇是使用eel模塊,下面小編就來為大家詳細(xì)介紹一下如何使用eel模塊創(chuàng)建GUI應(yīng)用程序吧2023-12-12
python實現(xiàn)多進程按序號批量修改文件名的方法示例
這篇文章主要介紹了python實現(xiàn)多進程按序號批量修改文件名的方法,涉及Python多進程與文件相關(guān)操作技巧,需要的朋友可以參考下2019-12-12
Python 調(diào)用 Outlook 發(fā)送郵件過程解析
這篇文章主要介紹了Python 調(diào)用 Outlook 發(fā)送郵件過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08

