构成可迭代对象的要素

 我来答
生活分享者
高能答主

2023-01-17 · 生活小技巧
生活分享者
采纳数:1441 获赞数:37648

向TA提问 私信TA
展开全部

在python中,构成可迭代对象的要素有:字符串、列表、元组、字典、集合等。

可以对list、tuple、dict、set、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用,把这样的过程称为遍历,也叫迭代。把可以通过for...in...这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)。

可迭代对象通过iter方法向我们提供一个迭代器,在迭代一个可迭代对象的时候,实际上就是先获取该对象提供的一个迭代器,然后通过这个迭代器来依次获取对象中的每一个数据。那么也就是说,一个具备了iter方法的对象,就是一个可迭代对象。

迭代器的特点

对于迭代器,如果只想获得下一个元素而不是遍历,可以调用next方法而实现,不过,我们往往不会直接调用Python中的特殊方法,内建函数next可以帮助我们获取迭代器的下一个元素,next在内部会调用迭代器的next方法。

同时,需要注意,迭代器只能迭代一轮,也就是说,如果容器中已经没有可用的元素,则迭代器就不能再次使用了(再次调用next函数获取下一个元素会产生异常),如果想要重新进行迭代,需要再次调用iter函数获取一个新的迭代器对象。

班丘奇文0KH
2023-01-18 · 超过73用户采纳过TA的回答
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:9万
展开全部

构成可迭代对象的要素为:字符串、列表、元组、字典、集合。

对于迭代器,如果只想获得下一个元素而不是遍历,可以调用next方法而实现,不过,我们往往不会直接调用Python中的特殊方法,内建函数next可以帮助我们获取迭代器的下一个元素,next在内部会调用迭代器的next方法。

下面以列表举个栗子,列表是可迭代对象,所以可以用iter()方法,查看返回值,发现该返回值也是可迭代对象,也就是说列表是可迭代对象,列表执行完iter()方法后也是可迭代对象,那么可以猜得到那个返回值应该就是迭代器了,然后执行next()方法果然可以从里面取值。

生成器介绍:

生成器其实是一种特殊的迭代器,不过这种迭代器更加优雅。它不需要再像上面的类一样写__iter__()和__next__()方法了,只需要一个yiled关键字。 生成器一定是迭代器(反之不成立),因此任何生成器也是以一种懒加载的模式生成值。



已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式