可迭代对象

什么是可迭代对象?

简单来说,能够被for循环遍历的就是可迭代对象

怎么确定一个对象是可迭代对象?

  1. 是否可以被for循环
  2. 检查对象是否拥有.__iter__,或者.__getitem__接口

可迭代对象分为几类?

可迭代对象分为两类,数据类型generator

数据类型

  • list: 列表对象中有一个.__iter__的接口,调用iter()时实际上就是调用.__iter__接口
  • str: 字符串对象中没有.__iter__接口,但是字符串对象有一个.__getitem__接口,
  • tuple
  • dict
  • set
  • ...

generator

生成器也是可迭代对象

In [12]: gen=(i for i in range(10))

In [13]: type(gen)
Out[13]: builtins.generator

In [14]: for i in gen:
   ....:     print(i)
   ....:     
0
1
2
3
4
5
6
7
8
9

results matching ""

    No results matching ""