from collections.abc import Iterator, Iterable# isinstance(XXX, Iterable)判断XXX是否可迭代print(isinstance([1, 2, 3], Iterable))print(isinstance((1, 2, 3), Iterable))print(isinstance(123, Iterable))# isinstance(XXX, Iterator)判断XXX是否为迭代器print(isinstance([1, 2, 3], Iterator))print(isinstance((), Iterator))print(isinstance((x for x in range(10)), Iterator))
结果为:
List、truple、str、dic等是可迭代,但他们并不是迭代器。而不确定要循环迭代多少次,每调用一次next()都可以进行下一步,具有惰性的,这样理解为迭代器。集合数据类型如List,truple,dict等属于Iterable不是Iterator,但他们都可以通过iter()函数获得一个Iterator对象。 总结以上是内存溢出为你收集整理的Python中的iterator 和 iterable全部内容,希望文章能够帮你解决Python中的iterator 和 iterable所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)