第二十五章 迭代器(Iterator)(Python)

文章目录


前言

迭代器是为了给迭代对象进行迭代使用的,是访问集合元素的一种方式。从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

列表、集合、元组、字典、字符串、都是可迭代对象。如果一个对象拥有_iter方法,其是可迭代对象。

一、什么是迭代器?

迭代器(Iterator)是一种特殊的对象,它可以在遍历时逐个返回元素。迭代器实现了迭代协议,包括两个重要的方法:
iter () 方法:返回迭代器对象自身。
next() 方法:返回迭代器的下一个元素,如果没有元素可供返回,则抛出 StopIteration 异常。

python 复制代码
class Iterator_demo:
    def __iter__(self):
        self.a = 1
        return self

    def __next__(self):
        x = self.a
        self.a += 1
        return x


iter_demo = Iterator_demo()
for _ in iter(iter_demo):
    if _ == 10:  # 迭代9次,否则会一直迭代
        exit()
    else:
        print(_)

二、如何生成迭代器?

python 复制代码
'''
	两个基本的方法:
		iter() 
		next()
'''
it = iter([1, 2, 3, 5])
print(next(it))  # 1
print(next(it))  # 2
print(next(it))  # 3
print(next(it))  # 5

it = iter([1, 2, 3, 5])
for _ in it:
    print(_)  # 1 2 3 5
相关推荐
2301_764441336 分钟前
基于Genos模型的基因序列分析应用
人工智能·python
分享牛9 分钟前
LangChain4j从入门到精通-11-结构化输出
后端·python·flask
嘿嘻哈呀38 分钟前
Python类型检查和文档生成
python
闻哥1 小时前
深入理解 Spring @Conditional 注解:原理与实战
java·jvm·后端·python·spring
小鸡吃米…2 小时前
机器学习 - 堆叠集成(Stacking)
人工智能·python·机器学习
青春不朽5122 小时前
Scikit-learn 入门指南
python·机器学习·scikit-learn
进击的小头2 小时前
FIR滤波器实战:音频信号降噪
c语言·python·算法·音视频
乔江seven2 小时前
【python轻量级Web框架 Flask 】2 构建稳健 API:集成 MySQL 参数化查询与 DBUtils 连接池
前端·python·mysql·flask·web
2301_810730102 小时前
python第四次作业
数据结构·python·算法
马剑威(威哥爱编程)2 小时前
Libvio.link爬虫技术解析:搞定反爬机制
爬虫·python