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 ...
随机推荐
- RabbitMQ是什么
1.引入MQ 1.1什么是MQ MQ(Message Quene):翻译为 消息队列,通过典型的 生产者 和 消费者 模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息.因为消息的 ...
- Spring导入外部资源
创建一个数据库连接的 properties jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssmbuil ...
- JS之预解释原理
预解释的原理 预解释的不同机制 var的预解释机制 function 的预解释机制 预解释机制 面试题练习 预解释的的不同机制 预解释也叫预声明,是提前解释声明的意思:预解释是针对变量和函数来说的:但 ...
- 封装find_element
因为find_element_by_id,find_element_by_name底层都是用find_element实现元素查找 #!/usr/bin/env python # -*- coding: ...
- charles 破解方法
1.https://www.charlesproxy.com/latest-release/download.do 官网下载charles 2.傻瓜式安装完成(路径可以默认c盘) 3.安装完成后去c盘 ...
- 这一次搞懂Spring的XML解析原理
前言 Spring已经是我们Java Web开发必不可少的一个框架,其大大简化了我们的开发,提高了开发者的效率.同时,其源码对于开发者来说也是宝藏,从中我们可以学习到非常优秀的设计思想以及优雅的命名规 ...
- cb02a_c++_数据结构_顺序容器_STL_list类_双向链表
/*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...
- 12.DRF-节流
Django rest framework源码分析(3)----节流 添加节流 自定义节流的方法 限制60s内只能访问3次 (1)API文件夹下面新建throttle.py,代码如下: # utils ...
- C++ 公有继承、保护继承和私有继承的对比
在c++的继承控制中,有三种不同的控制权限,分别是public.protected和private.定义派生类时,若不显示加上这三个关键字,就会使用默认的方式,用struct定义的类是默认public ...
- mac Pycharm 导入jieba报错解决
背景 新买的mac 用的还不是太熟,在用jieba做分词的时候,pycharm import说是没有安装,那我就直接点击安装呗,结果失败,说是当前渠道不能识别,ok,那我就开始一步一步来解决了. 正文 ...