Python可迭代与迭代器

可迭代:

在Python中如果一个对象有iter( )方法或getitem( )方法,则称这个对象是可迭代的(Iterable);其中iter( )方法的作用是让对象可以用for ... in循环遍历,getitem( )方法是让对象可以通过“实例名[index]”的方式访问实例中的元素。换句话说,两个条件只要满足一条,就可以说对象是可迭代的。显然列表List、元组Tuple、字典Dictionary、字符串String等数据类型都是可迭代的。当然因为Python的“鸭子类型”,我们自定义的类中只要实现了iter( )方法或getitem( )方法,也是可迭代的。“鸭子类型”的概念请参考本系列的第九篇文章。

迭代器:

在Python中如果一个对象有iter( )方法和next( )方法,则称这个对象是迭代器(Iterator);其中iter( )方法是让对象可以用for ... in循环遍历,next( )方法是让对象可以通过next(实例名)访问下一个元素。注意:这两个方法必须同时具备,才能称之为迭代器。列表List、元组Tuple、字典Dictionary、字符串String等数据类型虽然是可迭代的,但都不是迭代器,因为他们都没有next( )方法。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。 可迭代 一个对象...
    派派森森阅读 487评论 0 0
  • 1 迭代器与for 迭代器(iterator),在许多现代编程语言,如C++,Java等中均有出现。迭代器不是一种...
    樱雨楼阅读 558评论 0 1
  • 前段时间听到这首 达尔文 觉得歌词挺不错 就好奇心去查了 达尔文主义 网上的基本介绍也就是 达尔文主义揭示了自然选...
    Cherleen琳琳阅读 474评论 1 2
  • 遠行之利弊、憂思,如何一言以蔽之呢? 多不必言絮,只潛略其個人感… “克己”、“守心” 我覺得這兩個詞很重要,很重...
    乙木々阅读 219评论 0 0
  • 所有的离婚究其原因都没什么大事,都是生活中的琐事,正验证了那句话,一个人不能够到达遥远目标,不是因为她没有力气,不...
    黄震阅读 152评论 0 0

友情链接更多精彩内容