文章目录
1.python中判断对象是否可以迭代
使用for循环在处理数据时频率很高,只要作用于一个可迭代对象,for就可以正常循行,而我们不太关心该对象究竟是list还是其他数据类型。而在python3中我们可以通过collections模块的Iterable类型判断:
凡是可作用于for循环的对象都是Iterable类型;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。
>>> from collections import Iterable
>>> isinstance('hello world', Iterable) # str是否可以迭代
True
>>> isinstance([3, 2, 1], Iterable) # list是否可以迭代
True
>>> isinstance(321, Iterable) # 整数是否可以迭代
False