可迭代对象

Python90

4.9 可迭代对象

Python中有6种基本的数据类型,除了数字类型,其它5种类型都是 可迭代对象。掌握可迭代对象的特性和方法是非常有必要的。

迭代(遍历)就是按照某种顺序逐个访问对象中的每一项。
Python中有很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等等,这些对象都是可迭代的,被称为可迭代对象。
可以将一个可迭代对象想象成一个包含有限数量元素的容器,每个元素都可以从中获得。则容器是可迭代的,并且容器是可迭代对象。

[En]

Think of an iterable object as a container with a limited number of elements, and each element can be obtained from it. Then the container is iterable, and the container is the iterable object.

所有的可迭代对象都需要实现 __iter__方法,该方法就是用于当我们在循环时将 可迭代对象转换成 迭代器的。

from typing import *
dct = {'one': 1, 'two': 2, 'three': 3, 'zero': 0}
print(isinstance(dct, Iterable))

True

迭代器可迭代对象的一个子集。是一个可以记住遍历的位置的对象,它与列表、元组、集合、字符串这些 可迭代对象的区别就在于 __next__()方法的实现。也就是通过该方法可以一个个的将元素取出来。
迭代器支持 __iter__()__next__()方法。其中:
__iter__()方法返回迭代器对象本身,而可迭代对象的该方法则返回其迭代器。
__next__()方法返回容器的下一个元素,在结尾时引发StopIteration异常。

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长