python 可迭代對象和迭代器


1.什么是迭代器?

一句話來說:在python中,內部含有'iter'方法並且含有'next'方法的對象就是迭代器。

2.下列哪些對象是迭代器?

2.1 str,list,tup,dict,set,文件句柄

直接說答案,只有文件句柄對象是迭代器。只有其內部含有'iter'和'next'方法。

3.將可迭代對象轉化成迭代器。

l = [1,2,3,4]
obj = l.__iter__()

#obj = iter(l)
#這時候,就可以調用obj的__next__()方法迭代輸出內部元素。

4. for循環內部機制

for循環的循環對象一定要是可迭代對象,但並不意味着可迭代對象就可以取值,因為for循環的內部機制是:將可迭代對象轉換成迭代器,然后利用next進行取值,最后利用異常處理機制處理StopLieration拋出的異常。下面用while模擬for的內部循環機制。

l = [1,2,3,4,5]
# 1. 將可迭代對象轉化為迭代器.
obj = iter(l)
# 2. 利用while循環,next進行取值。
while 1:
    # 3. 利用異常處理終止循環。
    try:
        ptint(next(obj)
    expect StopIteration:
        break


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM