前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python学习笔记7.6-内建模块itertools

python学习笔记7.6-内建模块itertools

作者头像
锦小年
发布2018-01-02 14:36:52
5830
发布2018-01-02 14:36:52
举报
文章被收录于专栏:锦小年的博客锦小年的博客

python有一个高级特性就是迭代器,能够提供各种各样的迭代方式,而代码却非常的简单。itertools提供了非常丰富的有关于迭代操作的函数,下面一一介绍。

再次理解可迭代对象: 迭代器产生的可迭代对象不能直接使用,比如计算,需要用for循环迭代处具体的值后才能使用。

1. 无限迭代器

1.1 count()

count()函数产生无限自然序列,由于是无限迭代,所以运行一次,产生一个加1的数。

代码语言:javascript
复制
from itertools import count

a = count(2) #迭代的起始参数
for i in a:
    print(i)

运行了根本停不下来,只能手动结束,强行停止。

1.2 cycle() 将传入的序列无限的重复迭代,因而返回的是序列的元素

代码语言:javascript
复制
from itertools import cycle

a = cycle('abcde') #迭代的起始参数
for i in a:
    print(i)

同样停不下来

1.3 repeat() 将传入的元素重复,如果提供重复次数,那么达到重复次数,将停止。如果不提供重复次数,将一直重复下去。

代码语言:javascript
复制
from itertools import repeat

a = repeat('abcde',6) #迭代的起始参数
for i in a:
    print(i)

重复的是传入的参数

2. chain() 把可迭代对象连在一起,组成一个更大的可迭代对象。

代码语言:javascript
复制
from itertools import chain

a = chain('abcde','fghhhh')
print(a) #直接打印,只能显示迭代地址

for i in a:
    print(i)

3. groupby() 把迭代器中重复元素统计出来。

代码语言:javascript
复制
from itertools import groupby

a = groupby('abcdefghhhhdfadsdfsdeewef')
for key,value in a:
    print(key,list(value))
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 无限迭代器
    • 1.1 count()
      • 1.2 cycle() 将传入的序列无限的重复迭代,因而返回的是序列的元素
        • 1.3 repeat() 将传入的元素重复,如果提供重复次数,那么达到重复次数,将停止。如果不提供重复次数,将一直重复下去。
        • 2. chain() 把可迭代对象连在一起,组成一个更大的可迭代对象。
        • 3. groupby() 把迭代器中重复元素统计出来。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档