使用next遍歷迭代器

2021-09-11 12:35:04 字數 549 閱讀 9498

不使用for遍歷可迭代物件,而使用 next() 函式並在**中捕獲 stopiteration 異常。 比如,下面的例子手動讀取乙個檔案中的所有行:

def manual_iter():

with open('test.txt', "r") as f:

try:

while true:

line = next(f)

print(line, end='')

except stopiteration:

pass

stopiteration 用來指示迭代的結尾。 然而,如果你手動使用上面演示的 next() 函式的話,你還可以通過返回乙個指定值來標記結尾,比如 none 。

with open('text.txt', "r") as f:

while true:

line = next(f, none)

if line is none:

break

print(line, end='')

迭代器遍歷

iterator物件稱為迭代器,主要用於遍歷collection 集合中的元素。所有實現了collection介面的集合類都有乙個iterator 方法,用以返回乙個實現了lterator介面的物件,即可以返回乙個迭代器。lterator的結構.iterator僅用於遍歷集合,iterator本身並...

迭代器的基本使用 遍歷

迭代器提供一些基本操作符 這些操作和c c 操作array元素 時的指標介面一致。不同之處在於,迭代器是個所謂的複雜的指標,具有遍歷複雜資料結構的能力。其下層執行機制取決於其所遍歷的資料結構。因此,每一種容器型都必須提供自己的迭代器。事實上每一種容器都將其迭代器以巢狀的方式定義於內部。接下來我簡單的...

for 迭代器遍歷list map

1 map與list區別 list是物件集合,允許物件重複。map是鍵值對的集合,不允許key重複 2 list 與 list 型別 list不限制型別,也就是object型別 list 型別 限定在某一型別,使用時不需要強轉,避免執行錯誤 注 map 與 map也是同樣的 demo1 遍歷list...