Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1342424
  • 博文数量: 243
  • 博客积分: 888
  • 博客等级: 准尉
  • 技术积分: 2955
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-05 14:33
个人简介

漫漫长路,其修远兮!

文章分类

全部博文(243)

文章存档

2017年(2)

2016年(22)

2015年(32)

2014年(57)

2013年(107)

2012年(23)

分类: Python/Ruby

2014-04-11 18:31:20

itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(如生成器和生成器表达式)的函数联合使用。
chain(iter1, iter2, ..., iterN):
给出一组迭代器(iter1, iter2, ..., iterN),此函数创建一个新迭代器来将所有的迭代器链接起来,返回的迭代器从iter1开始生成项,知道iter1被用完,然后从iter2生成项,这一过程会持续到iterN中所有的项都被用完。


点击(此处)折叠或打开

  1. from itertools import chain
  2. test = chain('AB', 'CDE', 'F')
  3. for el in test:
  4.     print el

  5. A
  6. B
  7. C
  8. D
  9. E
  10. F
chain.from_iterable(iterables):
一个备用链构造函数,其中的iterables是一个迭代变量,生成迭代序列,此操作的结果与以下生成器代码片段生成的结果相同:

点击(此处)折叠或打开

  1. >>> def f(iterables):
  2.     for x in iterables:
  3.         for y in x:
  4.             yield y

  5. >>> test = f('ABCDEF')
  6. >>> test.next()
  7. 'A'


  8. >>> from itertools import chain
  9. >>> test = chain.from_iterable('ABCDEF')
  10. >>> test.next()
  11. 'A'


阅读(976) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~