您的位置:首页 > 其它

如何判断一个对象是否可迭代?

2019-03-23 08:57 2351 查看

如何判断一个对象是否可迭代?

什么是迭代?

答:for循环就是迭代

什么是迭代对象?

答:可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator
注意,列表不是可迭代对象,生成器是迭代器,迭代器不一定是生成器
即:生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。

如何判断对象是否能迭代?

方法一:能用for循环遍历的对象就是可迭代对象
方法二:正规方法–>from collections import Iterable
比如:  isinstance(“abc”,Iterable)  return True
isinstance([],Iterable)   return True 表明列表是可迭代的

注意区分参数 Iterable与Iterator :

from collections import Iterator
isinstance([],Iterator) return False 表明列表不是迭代对象、

把list、dict、str等Iterable变成Iterator可使用iter()函数

isinstance( iter( [] ) , Iterator ) return True

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: