生活分享

  • 首页
HETAO
业余码农、业余机械爱好者
  1. 首页
  2. 未分类
  3. 正文

Python中的Generator的合并

2016年8月3日 1476点热度 0人点赞 0条评论

刚学python时看到诸如:

book_name_list=(book.name for book in libary)

都觉得是一种顿悟,今天才知道它的原理yield,带有这个东西的都是generator。这么写简洁流畅、语义通顺,缺点是一直不知道怎么合并,用集合的操作符 | 会报错误:

unsupported operand type(s) for |: 'generator' and 'generator'

然后发现了itertools,这个库的定义太爆了,创建高效的循环,没错就是他。那么多个generator可以这样合起来:

 

from itertools import chain

def generator1():
    for item in 'abcdef':
        yield item

def generator2():
    for item in '123456':
        yield item

generator3 = chain(generator1(), generator2())
for item in generator3:
    print item
Post Views: 1,542
标签: 暂无
最后更新:2016年8月3日

jinzhao

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 生活分享. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

浙ICP备14004285号-1