来源:j_hao104

简介

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

itertools.chain(*iterable)

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

importitertools

foreachinitertools.chain('i','love','python'):

printeach

输出:

i

l

o

v

e

p

y

t

h

o

n

itertools.combinations(iterable, r)

返回指定长度的”组合” 例如:

importitertools

foreachinitertools.combinations('abc',2):

printeach

输出:

('a','b')

('a','c')

('b','c')

itertools.combinations_with_replacement(iterable, r)

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

importitertools

foreachinitertools.combinations_with_replacement('abc',2):

printeach

输出:

('a','a')

('a','b')

('a','c')

('b','b')

('b','c')

('c','c')

itertools.product(*iterable[,repeat])

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

importitertools

foreachinitertools.product('abc',repeat=2):

printeach

(‘a’, ‘a’) (‘a’, ‘b’) (‘a’, ‘c’) (‘b’, ‘a’) (‘b’, ‘b’) (‘b’, ‘c’) (‘c’, ‘a’) (‘c’, ‘b’) (‘c’, ‘c’)

itertools.premutations(iteravle[,r])

返回长度为r的排列 例如:

importitertools

forvalueinitertools.permutations('abc',2):

printvalue

输出:

('a','b')

('a','c')

('b','a')

('b','c')

('c','a')

('c','b')

itertools.compress(data,selector)

返回selector为True的data对应元素 例如:

importitertools

foreachinitertools.compress('abcd',[1,0,1,0]):

printeach

输出:

a

c

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

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

importitertools

foreachinitertools.count(start=0,step=2):

printeach

输出:

1

2

3

.

.

itertools.cycle(iterable)

将迭代器进行无限迭代 例如:

importitertools

foreachinitertools.cycle('ab'):

printeach

输出:

a

b

a

b

.

.

itertools.dropwhile(predicate, iterable)

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

importitertools

foreachinitertools.dropwhile(lambdax:x<5,[2,1,6,8,2,1]):

printeach

输出:

6

8

2

1

itertools.groupby(iterable[,key])

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

importitertools

forkey,valeinitertools.groupby('aabbbc'):

printkey,list(vale)

输出:

a['a','a']

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

c['c']

itertools.ifilter(predicate, iterable)

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

importitertools

forvalueinitertools.ifilter(lambdax:x%2,range(10)):

printvalue

输出:

1

3

5

7

9

itertools.ifilterfasle(predicate,iterable)

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

importitertools

forvalueinitertools.ifilterfalse(lambdax:x%2,range(10)):

printvalue

输出:

0

2

4

6

8

itertools.imap(function,*iterables)

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

importitertools

forvalueinitertools.imap(lambdax,y:xy,(1,2,3),(4,5,6)):

printvalue

输出:

5

7

9

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

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

importitertools

forvalueinitertools.islice('abcdefg',1,4,2):

printvalue

输出:

b

d

itertools.repeat(object,[,times])

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

importitertools

forvalueinitertools.repeat('a',2):

printvalue

输出:

a

a

itertools.starmap(function,iterable)

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

importitertools

forvalueinitertools.starmap(lambdax,y:x*y,[(1,2),(3,4)]):

printvalue

输出:

2

12

itertools.takewhile(predicate,iterable)

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

importitertools

forvalueinitertools.takewhile(lambdax:x<5,[1,3,5,6]):

printvalue

输出:

1

3

python itertools模块_Python标准库:itertools模块相关推荐

  1. python的itertools库_Python标准库itertools模块使用方法

    简介 官方描述:Functional tools for creating and using iterators.即用于创建高效迭代器的函数. itertools.chain(*iterable) ...

  2. 如何下载python模块_Python第三方库(模块)下载和安装(使用pip命令)

    进行 Python 程序开发时,除了使用 Python 内置的标准模块以及我们自定义的模块之外,还有很多第三方模块可以使用,这些第三方模块可以借助 Python官方提供的查找包页面(https://p ...

  3. python groupby用法_Python 标准库实践之合并字典组成的列表

    作者 | 陈祥安 来源 | Python学习开发 最近做了个数据合并的需求这里记录下: 要求如下: dict_of_list1 = [{"name": "zhangsan ...

  4. python字符串库函数_Python标准库概览(1):string

    Python的 string 标准库保留了一些有用的函数和用于处理文本对象的类,现在我们来一起看一下Python的string标准库还有哪些我们不知道的有趣用法? 01.capwords()函数:将字 ...

  5. python文件管理包_Python标准库04 文件管理 (部分os包,shutil包)

    Python标准库04 文件管理 (部分os包,shutil包) 在操作系统下,用户可以通过操作系统的命令来管理文件,参考.Python 标准库则允许我们从 Python 内部管理文件.相同的目的,我 ...

  6. print python 带回车_python标准库threading源码解读【二】

    紧接着上一篇文章继续解析源码 甘蔗:python标准库threading源码解读[一]​zhuanlan.zhihu.com 目录 Event的介绍和用法 Event源码解析 以后的内容尽量少一点并且 ...

  7. python标准库模块_Python标准库模块之heapq

    该模块提供了堆排序算法的实现.堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点. 创建堆 heapq有两种方式创建堆, 一种是使用一个空列表,然后使用heapq.hea ...

  8. python解析xml文件选用模块_Python标准库系列之xml模块

    Python's interfaces for processing XML are grouped in the xml package. 带分隔符的文件仅有两维的数据:行和列.如果你想在程序之间交 ...

  9. inspect python模块_Python标准库inspect的具体使用方法

    inspect模块用于收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等等,有几个好用的方法: Doc:这样写到 The inspect module pr ...

最新文章

  1. linux按文件名排序ls,linux – 如何使用shell脚本按名称对文件进行排序
  2. awk读取txt生成mysql插入语句
  3. javaweb带父标签的自定义标签
  4. spark中的广播变量broadcast
  5. Git ----fatal: unable to access ‘https://gitee.com/***.git/‘: SSL certificate problem: unable
  6. Archive object standard check
  7. 百度地图 Android SDK - 个性化地图
  8. kdj买卖指标公式源码_通达信指标公式源码MACD背离KDJ背离指标
  9. go语言的iota是什么意思_go语言基础之iota枚举
  10. LeetCode-124.二叉树中的最大路径和
  11. 工作中的一点小技巧总结
  12. 5、手把手教React Native实战之盒子模型BoxApp
  13. 怎样查询网站关键字的排名
  14. windowsxp下载python下载视频_Python实现视频下载功能
  15. 程序员鸡汤_程序员之魂鸡汤
  16. 还在问java架构师路线?学习路线?十年京东架构师教你这样做
  17. 微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台
  18. ubuntu禁止自动锁屏
  19. 10套苹果CMS模板打包下载/苹果CMS视频影视网站源码下载
  20. 关于“要不要做调研”

热门文章

  1. 让你更中立!腾讯微信进行灰度测试 “好看”变为“在看”
  2. 中兴首款5G旗舰手机来了:2月25日见!
  3. 炮轰小米后柔宇科技再发长文声明:无意碰瓷炒作
  4. VOIP术语及相关知识
  5. fatal: ‘origin‘ does not appear to be a git repository fatal: Could not read from remote repository.
  6. 易语言窗口c_句柄取进程名,易语言窗口句柄取进程文件名源码
  7. 作业调度进程c语言代码,进程调度 时间片轮转调度算法源代码(C语言)
  8. 一次函数的斜率公式_【海广教育数学口诀】初中数学学不会?公式这样记,让你做题效率翻倍!...
  9. Getmemory函数详解--内存操作的理解
  10. 目标追踪-背景差算法