Python中的iterator 和 iterable

Python中的iterator 和 iterable,第1张

概述首先,可以从字面意思上看出,iterator是名词--迭代器,iterable是形容词--可迭代的(XXX)。这样是不是就好理解了。接下来,具体研究,到底怎么用。对于一个数据类型,可以使用Iterator判断是不是迭代器,使用Iterable判断是不是可迭代的。fromcollections.abcimportIterator,Iterable# 首先,可以从字面意思上看出,iterator是名词--迭代器,iterable是形容词--可迭代的(XXX)。这样是不是就好理解了。接下来,具体研究,到底怎么用。对于一个数据类型,可以使用Iterator判断是不是迭代器,使用Iterable判断是不是可迭代的。
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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1188744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存