1. 程式人生 > >叠代器和iter()函數

叠代器和iter()函數

++ comm class clas ace pen 類型 post eba

1、先來個樣例,有個初步的印象:

myTuple=(123,‘xyz‘,45.67)
i=iter(myTuple)
i.next()
123
i.next()
‘xyz‘
i.next()
45.67
i.next()
Traceback (most recent call last):
File "", line 1, in?
StopIteration

上面的代碼中通過iter()函數顯式的使用了叠代器,而叠代器就是一個包括了next函數的類,同一時候
平時我們在使用如:

for i in seq:
    do_something_to(i)

時也使用到了叠代器。其真實的工作代碼應該例如以下:

fetch=iter(seq)
while True:
    try:
        i = fetch.next()
    except StopIteration:
        break
    do_something_to(i)

而。平時我們在顯式的使用叠代器時也應該像上面一樣將叠代器包裹在try…except…中
2、使用的類型
除元組外,列表、字典、文件等都能夠使用,
如字典類型

for eachkey in myDict:
    do_something_to(i)

字典的叠代器會遍歷它的鍵
3、註意事項
在叠代可變對象時,不要試圖改動它們。

‘).text(i)); }; $numbering.fadeIn(1700); }); });

叠代器和iter()函數