码迷,mamicode.com
首页 > 其他好文 > 详细

itertools

时间:2014-05-09 13:07:41      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   ext   

itertools是python内置的一个迭代器工具模块,提供很多方法,创建各种各样的迭代器。
python文档中写着,该模块式python2.3引入的,基本常用的python的解释器都是python2.4之后的。所以,基本不会遇上没有提供支持的情况。
 
下面主要介绍常用的三个:
islice():
一个迭代器的切片函数,用于抽取一个迭代器的特定位置的数据。
 bubuko.com,布布扣
 
tee():
从一个迭代器上,放回n个独立的迭代器。n默认为2,所以未传n值时,放回的是两个迭代器。
bubuko.com,布布扣
把n设为1的话,会放回一个迭代器,但是是放在一个元组中的。
bubuko.com,布布扣
 
groupby():
对迭代器的重复元素分组,一个例子:
get uuuuuuup
groupby之后就是:
1g1e1t1" "7u1p
下面是一个解压和压缩的例子:
bubuko.com,布布扣
 1 from itertools import groupby
 2 def compress(data):
 3  return ((len(list(group)),name)
 4   for name,group in groupby(data))
 5 def decompress(data):
 6  return (car*size for size,car in data)
 7 if __name__ == __main__:
 8  l=list(compress(get uuuuuuuuuuuuuuuup))
 9  print l
10  print ‘‘.join(decompress(l))
bubuko.com,布布扣

 

 

itertools,布布扣,bubuko.com

itertools

标签:style   blog   class   code   java   ext   

原文地址:http://www.cnblogs.com/chengxuyuanxiaoye/p/3718338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!