问:
可迭代与迭代器有什么不同
答:
Iterable是一个可以迭代的对象。它传递给iter()
方法时会生成一个Iterator 。Iterator是一个对象,用于使用__next __()方法迭代可迭代对象。迭代器有 __next__()
方法,它返回对象的下一个项目。
请注意,每个迭代器也是可迭代的,但并非每个迭代都是迭代器。例如,列表是可迭代的,但列表不是迭代器。可以使用该函数从迭代中创建迭代器iter()
。为了实现这一点,对象的类需要一个__iter__
返回迭代器的__getitem__
方法,或者一个顺序索引从0开始的方法。
for city in ["Berlin", "Vienna", "Zurich"]: print(city) print("\n") for city in ("Python", "Perl", "Ruby"): print(city) print("\n") for char in "Iteration is easy": print(char, end = " ")