python模块之itertools
来源:互联网 发布:源码破解论坛 编辑:程序博客网 时间:2024/05/21 09:09
简介
NAME itertools - Functional tools for creating and using iterators.FILE (built-in)DESCRIPTION Infinite iterators: count([n]) --> n, n+1, n+2, ... cycle(p) --> p0, p1, ... plast, p0, p1, ... repeat(elem [,n]) --> elem, elem, elem, ... endlessly or up to n times Iterators terminating on the shortest input sequence: chain(p, q, ...) --> p0, p1, ... plast, q0, q1, ... compress(data, selectors) --> (d[0] if s[0]), (d[1] if s[1]), ... dropwhile(pred, seq) --> seq[n], seq[n+1], starting when pred fails groupby(iterable[, keyfunc]) --> sub-iterators grouped by value of keyfunc(v) ifilter(pred, seq) --> elements of seq where pred(elem) is True ifilterfalse(pred, seq) --> elements of seq where pred(elem) is False islice(seq, [start,] stop [, step]) --> elements from seq[start:stop:step] imap(fun, p, q, ...) --> fun(p0, q0), fun(p1, q1), ... starmap(fun, seq) --> fun(*seq[0]), fun(*seq[1]), ... tee(it, n=2) --> (it1, it2 , ... itn) splits one iterator into n takewhile(pred, seq) --> seq[0], seq[1], until pred fails izip(p, q, ...) --> (p[0], q[0]), (p[1], q[1]), ... izip_longest(p, q, ...) --> (p[0], q[0]), (p[1], q[1]), ... Combinatoric generators: product(p, q, ... [repeat=1]) --> cartesian product permutations(p[, r]) combinations(p, r) combinations_with_replacement(p, r)
itertools. count
count(start=0, step=1) –> count object
Return a count object whose .next() method returns consecutive values.
在官方文档里面,有一段代码,解释说,count函数等价与下面的函数
Equivalent to:
def count(firstval=0, step=1): x = firstval while 1: yield x x += step
因此,count函数两个参数开始值和步长均有默认值,其返回一无界的迭代器,在循环里面调用的时候,要设置break条件。
#!/usr/bin/env python#coding:utf8"""Author:Description: learning itertools.count"""from itertools import count#使用默认参数,start = 0, step = 1for item in count(): print item, if item > 5: breakprintprint "-"*20#指定参数,start = 10, step = 2for item in count(start = 10, step = 2): print item, if item > 20: break#输出结果为:0 1 2 3 4 5 6--------------------10 12 14 16 18 20 22
itertools.cycle
cycle(iterable) –> cycle object
Return elements from the iterable until it is exhausted.Then repeat the sequence indefinitely.
一个列表为例,返回每一个元素,直到列表的最后一个元素,然后重复返回这个列表,无限循环下去, 也是返回一个无界迭代器。
直接上代码吧:
#!/usr/bin/env python#coding:utf8"""Author:Description: learning itertools.cycle"""from itertools import cyclel = ['a', 'b', 'c']i = 0for item in cycle(l): print item, i += 1 if i > 4: break#输出结果为:a b c a b
itertools.repeat
repeat(object [,times]) -> create an iterator which returns the object
for the specified number of times. If not specified, returns the object endlessly.
返回一个迭代器,可以指定重复的次数。若不指定次数,则是返回一个无界的迭代器。
import itertoolsl = [1, 2, 3]for item in itertools.repeat(l, 3): print l,# 输出结果为: [1, 2, 3] [1, 2, 3] [1, 2, 3]
0 0
- Python 之itertools模块
- python模块之itertools
- Python之 itertools模块
- python itertools模块学习
- python itertools模块
- python itertools模块学习
- [Python]itertools模块
- Python:itertools模块
- Python:itertools模块
- Python itertools模块
- Python:itertools模块
- Python:itertools模块
- python itertools模块
- python itertools模块
- python练习-itertools模块
- Python itertools模块详解
- Python itertools模块详解
- python itertools模块指南
- 安卓基础知识疑难点总结
- web service
- jsp页面常用控件
- scanf函数
- Android官方文档之Services
- python模块之itertools
- 保持饥饿才能保持成功
- Linux入门使用-4
- 关于Java基础中流的概述及序列化
- VS2013:如何在Win32项目中设置标题栏名称
- 《java入门第一季》StringBuffer类小案例
- iOS单元测试
- 二极管的动态电阻
- iOS应用崩溃日志分析