博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Day4_迭代器
阅读量:6333 次
发布时间:2019-06-22

本文共 803 字,大约阅读时间需要 2 分钟。

迭代器:

是一个重复的过程,每一次重复都是基于上一次的结果而来。

可迭代对象:

凡是对象有_iter_方法(对象._iter_),该对象就是可迭代对象。

字符串,列表,元组,字典等都是可迭代对象。

 

可迭代对象._iter_()=i  

import trydic={'name':'yangshuai','sex':'m',"age":18}i=dic.__iter__()print(i)#可迭代对象+__iter__得到的就是迭代器对象。#next(i) #这个相当于迭代器对象执行一次的值,打印执行一次的值可以利用print来执行。#执行到最后,会抛出一个StopIteration异常,这样相当于程序报错,为了处理这种问题,我们可以利用try....exceptiter_l=iter(i)while True:    try:        print(next(iter_l))    except StopIteration:        break

 

迭代器的优点:

1,提供了一种统一的(不依赖索引)的迭代方式

2,迭代器本身,比起其他数据类型更省内存,一次只在内存中加载一个值。

迭代器的缺点:

1,一次性的往后走,不能回退

2,不如索引灵活

3,无法预知什么时候取值结束,既无法预知长度。

 

补充:

判断是不是可迭代对象:

dic={'name':'yangshuai','sex':'m',"age":18}i=dic.__iter__()from collections import Iterable,Iterator#判断是不是可迭代对象print(isinstance(i,Iterable))#判断是不是迭代器print(isinstance(i,Iterator))

 

转载于:https://www.cnblogs.com/sexiaoshuai/p/7263318.html

你可能感兴趣的文章
10.2-全栈Java笔记:最全面的IO技术(二)
查看>>
Android Ubuntu Eclipse 开发环境中不能找到手机sdcard
查看>>
冒泡算法-python实现
查看>>
自定义服务器出网更新
查看>>
八,抽象类与接口
查看>>
Android 中 View 炸裂特效的实现分析 <IT蓝豹>
查看>>
将三个数由大到小输出
查看>>
bash的基础特性二
查看>>
代码审查
查看>>
新的Loki恶意软件变种正在通过网络钓鱼电子邮件传播
查看>>
Spring Cloud构建微服务架构—服务消费(Ribbon)
查看>>
MySQL主从同步常见报错的解决办法2
查看>>
Confluence 6 从你的 JDBC 连接中直接启用校验查询
查看>>
Confluence 6 home 目录中的内容
查看>>
跳槽面试时不能说的六大离职理由
查看>>
网络的远与近
查看>>
java对称加为密DESede 与 非对称加密RSA 示例
查看>>
ES6 结构和扩展运算符
查看>>
王利阳:电商大促 决战6.18
查看>>
kafka消息传输的事务定义
查看>>