博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python函数(十二)-迭代器
阅读量:2259 次
发布时间:2019-05-09

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

字符串,列表,元组,字典,集合,生成器这些能通过for循环来遍历的数据类型都是可迭代对象

可通过isinstance判断是不是可迭代对象

>>> from collections import Iterable>>> isinstance('Python', Iterable)True>>> isinstance([1,2,3], Iterable)True>>> isinstance((1,2,3), Iterable)True>>> isinstance({'name':'John','age':22}, Iterable)True>>> isinstance({1,2,3}, Iterable)True>>> isinstance((i*2 for i in range(10)), Iterable)True>>> isinstance(100, Iterable)False

isinstance也可以判断是不是迭代器

>>> from collections import Iterator>>> isinstance('Python', Iterator)False>>> isinstance([1,2,3], Iterator)False>>> isinstance((1,2,3), Iterator)False>>> isinstance({'name':'John','age':22}, Iterator)False>>> isinstance({1,2,3}, Iterator)False>>> isinstance((i*2 for i in range(10)), Iterator)True>>> isinstance(100, Iterator)False

可见可迭代对象不一定是迭代器,但迭代器是可迭代对象

如果要把可迭代对象变为迭代器,可以使用iter()方法

>>> from collections import Iterator>>> isinstance(iter('Python'), Iterator)True>>> isinstance(iter([1,2,3]), Iterator)True>>> isinstance(iter((1,2,3)), Iterator)True>>> isinstance(iter({'name':'John','age':22}), Iterator)True>>> isinstance(iter({1,2,3}), Iterator)True

迭代器可以用next()方法取数据,跟生成器一样

转载于:https://www.cnblogs.com/sch01ar/p/8410742.html

你可能感兴趣的文章
织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会)
查看>>
解决Word 2013, Word 2016的保存太慢的问题
查看>>
html高度塌陷问题解决
查看>>
Freescale 车身控制模块(BCM) 解决方案
查看>>
Windows Android SDK下载安装,配置,异常问题解决教程
查看>>
Redis 5.0.3默认配置启动报错解决方法
查看>>
VMware workstation虚拟机不能联网解决方法
查看>>
[tool] AI视频翻译 解决英文视频字幕问题(类似youtube自动生成字幕)
查看>>
[原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C0000006 异常问题
查看>>
【原】python3.7 无法pip安装提示ssl错误解决方案
查看>>
gitlab解决一些问题
查看>>
vue开发环境和生产环境里面解决跨域的几种方法
查看>>
pycharm双击无响应,打不开问题解决办法
查看>>
MySQL初始化root密码以及root密码忘记解决方法
查看>>
提示-bash: telnet: command not found的解决方法
查看>>
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
查看>>
shiro解决一个账号异地登录的问题
查看>>
spring-boot-maven-plugin not found的解决方案
查看>>
C#进阶系列——WebApi 跨域问题解决方案:CORS
查看>>
C#进阶系列——WebApi 身份认证解决方案:Basic基础认证
查看>>