《老鸟python 系列》视频上线了,全网稀缺资源,涵盖python人工智能教程,爬虫教程,web教程,数据分析教程以及界面库和服务器教程,以及各个方向的主流实用项目,手把手带你从零开始进阶高手之路!点击 链接 查看详情




itertools

阅读:227567879    分享到

Python 的内建模块 itertools 提供了非常有用的用于操作迭代对象的函数。

itertools 模块中各函数用法

itertools 的 Count 函数会创建一个无限的迭代器。

import itertools
from collections import Iterator

values = itertools.count(1)
print(isinstance(values, Iterator))  # True
for value in values:
    print(value)

当然我们也可以实现一个无限的迭代器。

from collections import Iterator

def mycount(bgdata=0):  # 默认从 0 开始生成无数整数的生成器
    bgdata = bgdata
    while True:
        yield bgdata
        bgdata += 1

values = mycount(1)
print(isinstance(values, Iterator))  # True(生成器是迭代器)
for value in values:
    print(value)

itertools 的 cycle 函数会把传入的容器无限重复下去。

import itertools

values = itertools.cycle(u"老鸟python")  # 参数可以是任何 Python 内置容器以及自定义容器
for value in values:
    print(value)

itertools 的 repeat 函数负责把一个元素无限重复下去,不过如果提供第二个参数就可以限定重复次数。

import itertools

values = itertools.repeat(u"老鸟python", 3)  # 限定循环 3 次
for value in values:
    print(value)

本节重要知识点

会使用本节课讲的 itertools 模块的函数。

了解 itertools 模块的其它函数。

作业

自己写个 itertools 类,实现上面讲的三个函数。


如果以上内容对您有帮助,请老板用微信扫一下赞赏码,赞赏后加微信号 birdpython 领取免费视频。


登录后评论

user_image
shinezyy
2019年6月7日 10:34 回复

imap函数似乎取消了?


user_image
Hex
2019年4月16日 13:48 回复

非常好的教程,感谢


user_image
宫羽
2019年4月7日 13:18 回复

不错得教程,掌握python的标准库,会省去很多函数的编写。