迭代器与生成器并行

Python52

我们已经知道,可以直接作用于 for循环的数据类型有以下几种:

一类是集合数据类型,如 listtupledictsetstr等;

一类是 generator,包括生成器和带 yield的generator function。

这些可以直接作用于 for循环的对象统称为可迭代对象: Iterable

可以使用 isinstance()判断一个对象是否是 Iterable对象

而生成器不但可以作用于 for循环,还可以被 next()函数不断调用并返回下一个值,直到最后抛出 StopIteration错误表示无法继续返回下一个值了。

*可以被 next() 函数调用并不断返回下一个值的对象称为迭代器: Iterator

可以使用 isinstance()判断一个对象是否是 Iterator对象:

生成器都是 Iterator对象,但 listdictstr虽然是 Iterable,却不是 Iterator

listdictstrIterable变成 Iterator可以使用 iter()函数:

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Python

drf — action 属性

action属性 作用:在视图集中,我们可以通过action对象属性来获取当前请求视图集时的action动作是哪个。 代码示例 from rest_framework.viewsets import ...
Python

更改DataFrame列顺序

使用pandas进行数据分析的时候,有时会由于各种需求添加了一些列。可是列的顺序并不能符合自己的期望。这个时候就需要对于列的顺序进行调整。 显示的数据内容为: 其实想调整为:(将最后一列,放到第一列)...
Python

Mysql-关系型数据库与非关系型数据库

一、什么是数据库 数据库是数据的仓库。 与普通的"数据仓库"不同的是,数据库依据"数据结构"来组织数据,因为"数据结构",所以我们看到的数据是比较"条理化"的(比如不会跟以前的普通文件存储式存储成一个...
Python

极客编程python入门-条件控制2/7

极客编程python入门-条件控制2/7 精选原创 最爱大苹果2022-08-07 20:27:10博主文章分类:极客编程python学习 ©著作权 文章标签 条件控制语句 python学习 文章分类...
Python

【Python】Python内存管理机制

文章目录 ​​1.1 可变对象和不可变对象​​ ​​1.2 Python垃圾回收​​ ​​(1)垃圾回收​​ ​​(2)标记-清除 and 分代回收​​ ​​1.3 Python内存池​​ ​​Ref...
Python

使用VMware安装Ubuntu虚拟机

一、下载安装VM软件 这一步跳过,因为网上都能找到下载地址,下载后一步一步的安装即可,网上也有很多下载地址,这里提供一个Windows的下载链接。 链接: https://pan.baidu.com/...
Python

linux centos7部署anaconda3

环境:Centos 7 1.下载Anaconda 在最近的日期中,选择一个对应自己系统版本的Anaconda3安装包,x86_64表示兼容32位和64位系统。右键复制链接,在linux中使用wget下...