我們來(lái)講講Python的迭代器

迭代器

迭代器的作用:
迭代器的作用就是迭代,可以讓不是序列但是表現(xiàn)出序列行為,例如迭代字典的鍵,文件的行

迭代器的定義:

  • 提供可擴(kuò)展的迭代器接口
  • 對(duì)列表迭代帶來(lái)性能上的增強(qiáng)
  • 在字典迭代中性能提升
  • 創(chuàng)建真正的迭代接口,而不是原來(lái)的隨機(jī)對(duì)象訪問(wèn)
  • 與所有已經(jīng)存在的用戶定義的類以及擴(kuò)展的模擬序列和映射的對(duì)象向后兼容
  • 迭代非序列集合(例如映射和文件)時(shí),可以創(chuàng)建更簡(jiǎn)潔可讀的代碼
迭代器就是由next()方法的對(duì)象

內(nèi)建函數(shù):
reverse()反序迭代器
enumerate()返回迭代器
any()迭代器中某個(gè)值為true時(shí)返回true
all()迭代器中全部值為true時(shí)返回true

使用迭代器

序列使用迭代器:
myTuple = (123,'xyz',45.67)
i = iter(myTuple)
i.next()

for i in seq:
do_something_to(i)

字典中使用迭代器:
字典的迭代器會(huì)迭代字典的鍵值
for eachKey in myDict.keys():
print "%s key",eachKey,"%s data",myDict[eachKey]

文件中使用迭代器:
for eachline in open('abc.txt'):
XXXX

如何創(chuàng)建迭代器

對(duì)一個(gè)對(duì)象調(diào)用iter()就可以得到它的迭代器
iter(obj)
iter(func,sentinel)
類如果要使用迭代器需要實(shí)現(xiàn)
iter()方法和next()方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容