迭代器

GDquicksand發表於2024-09-14
from collections.abc import Iterator, Iterable

# 生成器是一個迭代器,迭代器不一定是生成器
# 迭代器滿足兩個條件:1、有iter方法,2、可以被next方法呼叫

l = [1, 2, 3, 5]
d = iter(l)

print(d)
print(next(d))
print(next(d))

# for迴圈做的事:
#     1、呼叫可迭代物件的iter方法返回一個可迭代物件
#     2、不斷呼叫可迭代物件的next方法
#     3、處理StopIteration 報錯,結束迴圈
for i in d:
    print(i)


print(isinstance(l, list))
print(isinstance(d, Iterator))  # 是否是迭代器
print(isinstance(l, Iterable))  # 是否是可迭代物件

相關文章