简介

官方描述:Functional tools for creating and using iterators.即用于创建高效迭代器的函数。

itertools.chain(*iterable)

将多个序列作为一个单独的序列返回。

例如:import itertools

for each in itertools.chain('i', 'love', 'python'):

print each

输出:i

l

o

v

e

p

y

t

h

o

n

itertools.combinations(iterable, r)

返回指定长度的"组合"

例如:import itertools

for each in itertools.combinations('abc', 2):

print each

输出:('a', 'b')

('a', 'c')

('b', 'c')

itertools.combinations_with_replacement(iterable, r)

返回指定长度的“组合”,组合内元素可重复

例如:import itertools

for each in itertools.combinations_with_replacement('abc', 2):

print each

输出:('a', 'a')

('a', 'b')

('a', 'c')

('b', 'b')

('b', 'c')

('c', 'c')

itertools.product(*iterable[,repeat])

返回指定长度的所有组合,可理解为笛卡尔乘积

例如:import itertools

for each in itertools.product('abc', repeat=2):

print each

('a', 'a')

('a', 'b')

('a', 'c')

('b', 'a')

('b', 'b')

('b', 'c')

('c', 'a')

('c', 'b')

('c', 'c')

itertools.premutations(iteravle[,r])

返回长度为r的排列

例如:import itertools

for value in itertools.permutations('abc', 2):

print value

输出:('a', 'b')

('a', 'c')

('b', 'a')

('b', 'c')

('c', 'a')

('c', 'b')

itertools.compress(data,selector)

返回selector为True的data对应元素

例如:import itertools

for each in itertools.compress('abcd', [1, 0, 1, 0]):

print each

输出:a

c

itertools.count(start=0,step=1)

返回以start开始,step递增的序列,无限递增

例如:import itertools

for each in itertools.count(start=0, step=2):

print each

输出:1

2

3

.

.

itertools.cycle(iterable)

将迭代器进行无限迭代

例如:import itertools

for each in itertools.cycle('ab'):

print each

输出:a

b

a

b

.

.

itertools.dropwhile(predicate, iterable)

直到predicate为真,就返回iterable后续数据, 否则drop掉

例如:import itertools

for each in itertools.dropwhile(lambda x: x<5, [2,1,6,8,2,1]):

print each

输出:6

8

2

1

itertools.groupby(iterable[,key])

返回一组(key,itera),key为iterable的值,itera为等于key的所有项

例如:import itertools

for key, vale in itertools.groupby('aabbbc'):

print key, list(vale)

输出:a ['a', 'a']

b ['b', 'b', 'b']

c ['c']

itertools.ifilter(predicate, iterable)

返回predicate结果为True的元素迭代器,如果predicate为None,则返回所有iterable中为True的项

例如:import itertools

for value in itertools.ifilter(lambda x: x % 2, range(10)):

print value

输出:1

3

5

7

9

itertools.ifilterfasle(predicate,iterable)

返回predicate为False的元素,如果predicate为None,则返回所有iterable中为False的项

例如:import itertools

for value in itertools.ifilterfalse(lambda x: x % 2, range(10)):

print value

输出:0

2

4

6

8

itertools.imap(function,*iterables)

相当于迭代器方式的map()

例如:import itertools

for value in itertools.imap(lambda x, y: x+y, (1,2,3), (4,5,6)):

print value

输出:5

7

9

itertools.islice(iterable, start,stop[,step])

相当于迭代器方式的切片操作

例如:import itertools

for value in itertools.islice('abcdefg', 1, 4, 2):

print value

输出:b

d

itertools.repeat(object,[,times])

不停的返回object对象,如果指定了times,则返回times次

例如:import itertools

for value in itertools.repeat('a', 2):

print value

输出:a

a

itertools.starmap(function,iterable)

返回function(iter)的值,iter为iterable的元素

例如:import itertools

for value in itertools.starmap(lambda x, y: x * y, [(1, 2), (3, 4)]):

print value

输出:2

12

itertools.takewhile(predicate,iterable)

如果predicate为真,则返回iterable元素,如果为假则不再返回,break.

例如:import itertools

for value in itertools.takewhile(lambda x: x < 5, [1, 3, 5, 6]):

print value

输出:1

3

python的itertools库_Python标准库itertools模块使用方法相关推荐

  1. python的标识库和第三方库_Python 标准库、第三方库

    Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写.网络抓取和解析.数据连接.数清 ...

  2. python的threading库_python标准库介绍——31 threading 模块详解

    threading 模块 (可选) ``threading`` 模块为线程提供了一个高级接口, 如 [Example 3-1 #eg-3-1] 所示. 它源自 Java 的线程实现. 和低级的 ``t ...

  3. python自带sqlite库_Python标准库之sqlite3使用实例

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应 ...

  4. python语音识别的第三方库_python标准库+内置函数+第三方库: 7.音频处理

    python标准库+内置函数+第三方库 欲善其事,必先利其器 这其器必是python的标准库+内置函数,话说许多第三方库, 也是对标准库的使用,进行封装,使得使用起来更方便. 这些库以使用场景来分类: ...

  5. python lib库_python标准库pathlib常见操作

    pathlib-- 面向对象的文件系统路径 它是python3.4新增的一个标准库,提供了不同操作系统下文件系统路径的操作方式,有两大类一个是纯路径不带I/0操作,另一个可以进行I/0的类.pathl ...

  6. python几次方函数_Python标准库math中用来计算x的y次方的函数是pow(x,y)。

    [判断题]Python表达式int("110", 2)的值为6. [单选题]关于 Python 的复数类型,以下选项中描述错误的是( ). [判断题]现代物流管理以实现顾客满意为第 ...

  7. python信号处理库_Python标准库07 信号 (signal包,部分os包)(转载)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux的信号基础之后,Python标准库中的signal包就很容易学习 ...

  8. python argparse库_python标准库之argparse

    argparse的使用 argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并 ...

  9. python分析方向的第三方库_Python标准库与第三方库详解

    干货大礼包!21天带你轻松学Python(文末领取更多福利) 点击查看课程视频地址 本课程来自于千锋教育在阿里云开发者社区学习中心上线课程<Python入门2020最新大课>,主讲人姜伟. ...

最新文章

  1. 某阿里8年资深程序员求助:连续两次绩效挂掉,被hr辞退不给n+1,怎么办?
  2. 设置树莓派的无线网卡为监听模式(monitor)
  3. 微软 WPC 2014 合作伙伴keynote
  4. windows redis安装与配置
  5. 【数字图像处理】直方图均衡化
  6. CodeForces - 17E Palisection(回文自动机/Palindrome Series优化dp)
  7. 代码签名证书,让软件真正拥有姓名!
  8. 【公开课预告】:白板与开源
  9. cpythonjavagolang_cpython:列表对象(PyListObject)的扩容机制
  10. 如何用python画组合图形_python结合G2绘制精美图形
  11. nginx+uwsgi部署Django
  12. python全栈要学什么_python全栈要学什么 python全栈学习路线
  13. 【SpringMVC笔记】Ajax 入门(jQuery.ajax)
  14. Java 并发 —— volatile 关键字
  15. pushd popd
  16. bluecam连接步骤说明_智能门锁安装步骤分享
  17. 微信小程序/js上传图片值腾讯云cos
  18. [计算机组成原理-02] 计算机硬件的基本组成和工作原理
  19. Openstack平台neutron模块之网络基础概念
  20. 用python画一个机器猫歌词_Python实现海贼王的歌词组成词云图

热门文章

  1. 想要系统稳定?最好用也最容易理解的指标是.....
  2. Hbase协处理器实践总结(hbase数据同步)
  3. SAS基础练习(一)
  4. 【Spark调优】内存模型与参数调优
  5. Hadoop单机环境搭建整体流程
  6. Asp.net Request方法获取客户端的信息
  7. CLR via C# 3 读书笔记(5):第1章 CLR执行模型 — 1.5 本地代码生成器工具:NGen.exe...
  8. 什么是机器学习?(下)
  9. ipc-rpc-xmlrpc
  10. python全栈开发_day20_加密模块和excel操作模块以及xml