python 生成器(四):生成器基础(四)标准库中的生成器函数
os.walk
这个函数在遍历目录树的过程中产出文件名,因此递归搜索文件系统像for 循环那样简单。
用于过滤的生成器函数
| 模块 | 函数 | 说明 |
| itertools |
compress(it, |
并行处理两个可迭代的对象;如果 selector_it 中的元素是真值,产出 it 中对应的元素 |
| itertools |
dropwhile(predicate, |
处理 it,跳过 predicate 的计算结果为真值的元 |
| filter(predicate, it) |
把 it 中的各个元素传给 predicate,如果 |
|
| itertools |
filterfalse(predicate, |
与 filter 函数的作用类似,不过 predicate 的 |
| itertools |
islice(it, stop) 或 |
产出 it 的切片,作用类似于 s[:stop] 或 |
| itertools |
takewhile(predicate, |
predicate 返回真值时产出对应的元素,然后立 |
表14-2:用于映射的生成器函数
| 模块 | 函数 | 说明 |
| itertools |
accumulate(it, |
产出累积的总和;如果提供了 func,那么把前两个 |
|
enumerate(iterable, |
产出由两个元素组成的元组,结构是 (index, |
|
|
map(func, it1, |
把 it 中的各个元素传给func,产出结果;如果传入 |
|
| itertools | starmap(func, it) |
把 it 中的各个元素传给 func,产出结果;输入的 |
表14-3:合并多个可迭代对象的生成器函数
| 模块 | 函数 | 说明 |
| itertools | chain(it1, ..., itN) |
先产出 it1 中的所有元素,然后产出 it2 中的 |
| itertools | chain.from_iterable(it) |
产出 it 生成的各个可迭代对象中的元素,一个 |
| itertools |
product(it1, ..., itN, |
计算笛卡儿积:从输入的各个可迭代对象中获 |
| zip(it1, ..., itN) |
并行从输入的各个可迭代对象中获取元素,产 |
|
| itertools |
zip_longest(it1, ..., |
并行从输入的各个可迭代对象中获取元素,产 |
表14-4:把输入的各个元素扩展成多个输出元素的生成器函数
| 模块 | 函数 | 说明 |
| itertools | combinations(it, out_len) |
把 it 产出的 out_len 个元素组合在 |
| itertools |
combinations_with_replacement(it, |
把 it 产出的 out_len 个元素组合在 |
| itertools | count(start=0, step=1) |
从 start 开始不断产出数字,按 |
| itertools | cycle(it) |
从 it 中产出各个元素,存储各个元 |
| itertools | permutations(it, out_len=None) |
把 out_len 个 it 产出的元素排列在 |
| itertools | repeat(item, [times]) |
重复不断地产出指定的元素,除非 |
表14-5:用于重新排列元素的生成器函数
| 模块 | 函数 | 说明 |
| itertools | groupby(it,key=None) |
产出由两个元素组成的元素,形式为 (key, |
| reversed(seq) |
从后向前,倒序产出 seq 中的元素;seq 必须是序 |
|
| itertools | tee(it, n=2) |
产出一个由 n 个生成器组成的元组,每个生成器 |
python 生成器(四):生成器基础(四)标准库中的生成器函数的更多相关文章
- Python标准库中的生成器函数
一.用于过滤的生成器函数 - 从输入的可迭代对象中产出元素的子集,而不修改元素本身 import itertools l1 = [1,2,3,4,5] l2 = [True,False,True,Fa ...
- python协程(yield、asyncio标准库、gevent第三方)、异步的实现
引言 同步:不同程序单元为了完成某个任务,在执行过程中需靠某种通信方式以协调一致,称这些程序单元是同步执行的. 例如购物系统中更新商品库存,需要用"行锁"作为通信信号,让不同的更新 ...
- python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...
- Python 标准库中的装饰器
题目描述 1.简单举例 Python 标准库中的装饰器 2.说说你用过的 Python 标准库中的装饰器 1. 首先,我们比较熟悉,也是比较常用的 Python 标准库提供的装饰器有:property ...
- Python标准库:内置函数hasattr(object, name)
Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...
- Python学习笔记011_模块_标准库_第三方库的安装
容器 -> 数据的封装 函数 -> 语句的封装 类 -> 方法和属性的封装 模块 -> 模块就是程序 , 保存每个.py文件 # 创建了一个hello.py的文件,它的内容如下 ...
- (转)python标准库中socket模块详解
python标准库中socket模块详解 socket模块简介 原文:http://www.lybbn.cn/data/datas.php?yw=71 网络上的两个程序通过一个双向的通信连接实现数据的 ...
- Python标准库-数字的处理函数(math模块)
Python标准库-数字的处理函数(math模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. #!/usr/bin/env python #_*_conding:utf-8_* ...
- STL笔记(6)标准库:标准库中的排序算法
STL笔记(6)标准库:标准库中的排序算法 标准库:标准库中的排序算法The Standard Librarian: Sorting in the Standard Library Matthew A ...
随机推荐
- Embed Tomcat Java(内嵌tomcat启动简述)
简单记录一下内部tomcat启动 maven pom.xml <dependencies> <!-- embed tomcat dependency --> <depen ...
- Linux系统管理——Linux安装
实验软件包下载地址 VirtualBox下载地址 VirtualBox:下载地址 CentOS7镜像下载地址 CentOS7:下载地址 远程登录管理工具下载地址 MobaXterm:下载地址 Virt ...
- @codeforces - 607E@ Cross Sum
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 n 条直线,构造可重点集合 I 为 n 条直线两两的交点集 ...
- 分享一个我自己做的 Excel 万年历
下载链接在此. 纯 Excel 公式实现,带农历,可自定义节日.配色. 带有紧凑日历和记事日历两种日历,均可直接 Ctrl+P 打印,且打印时不带有顶部的控制栏.
- MQ系列(0)——MQ简介
mq简介 mq 就是消息队列(Message Queue).想必大家对队列的数据结构已经很熟悉了,消息队列可以简单理解为:把要传输的数据放在队列中,mq 就是存放和发送消息的这么一个队列中间件.在消息 ...
- 嵌入式QT开发视频教程-供参考
免费嵌入式QT开发视频教程 https://pan.baidu.com/s/1bprhJ2Z QT初级到高级编程视频教程--丁林松.rarhttp://www.jisoupan.com/share/2 ...
- Beta冲刺总结随笔
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 团队名称 WeChair 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 如下 其他参考文献 项目预期 ...
- Beta冲刺<6/10>
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺--第六天(05.24) 作业正文 如下 其他参考文献 ... B ...
- 蝙蝠算法(BA)学习笔记
算法原理 蝙蝠能够在夜间或十分昏暗的环境中自由飞翔和准确无误地捕捉食物,是因为他们能够从喉头发出地超声脉冲回声来定位.受这一启发,Yang教授在2010年提出了蝙蝠算法(Bat Algorithm,B ...
- NodeMCU手把手入门:配置NodeMCU ESP8266开发板环境及点亮LED灯
之前一直在玩树莓派,最近实验室买了些NodeMCU就想着玩一玩,没想到挺有意思的.其实树莓派能实现的功能,它大部分也可以,价格比派也便宜不少,舍不得买派的同学可以先买这个开发板玩一玩. 本文主要介绍了 ...