Python学习笔记:iterator和iterable

本文详细介绍了迭代器(iterator)与可迭代对象(iterable)的概念及其区别。通过定义解释了如何使用迭代器来遍历一系列值,并且说明了一个可迭代对象如何产生迭代器。此外还给出了一个具体的for循环内部原理的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义:

一个迭代器(iterator)是一个管理一系列值的迭代的对象。如果一个变量i指代一个迭代器对象,那么每次调用内建函数next(i)就可以产生一个这一系列值的下一个元素,如果StopIteration异常发生则意味着没有更多的元素可以产生了。
一个iterable是一个对象,obj,可以用语句iter(obj)产生一个迭代器。

从定义可以很明显的看出iterator和iterable的区别。一个iterable对象可以产生一个iterator,一个iterator可以迭代产生一个iterable对象包含的元素。
举个例子,for循环的内部原理就是每次循环调用一次next(i),直到遇到StopIteration异常。

参考文献
Data Structures and Algorithms in Python,WILEY

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值