python itertools模块

 

 python  itertools模块

各种花里胡哨 哦不 丰富好用的迭代方式,了解下:http://funhacks.net/2017/02/13/itertools/

什么不想打开?

提醒你一下:

常用的有  count(firstval = 0,step = 1)        cycle(iterable)     repeat(object,nums)

import itertools
nums = itertools.count()
for i in nums:
    if i > 6:
         break
    print(i)

#这个会输出什么呢?
nums = itertools.count(10,2)
for i in nums:
    if i > 20:
        break
    print(i)

#cycle就是循环迭代不停滴!!!比如我这里有字符串(可迭代对象)"周杰伦",那我就可以 嘿嘿 #算了改一下#用list做对象
strs = itertools.cycle(["周杰伦","jay","月半伦","周天王"])
sts_nums = 1
for i in strs:
    sts_nums += 1
    print("520"+i)
    if sts_nums == 22:
        break
#repeat 就比较简单啦就是不停滴
for item in itertools.repeat("周杰伦520",21):
    print(item)    

皮这一下很开心~

还有一些(较为复杂的迭代):

chain(iterable1, iterable2, iterable3, ...)  #将不同的迭代对象放一起迭代,有种大家一个一个来蹦迪的感觉,但是我蹦完下台以后下一个胖友才能来蹦跶哈~

compress(data, selectors) #具有筛选功能的迭代,比如。。。

for i in itertools.compress(["周杰伦","周天王","胖伦","Jay"],[1,1,0,1])

 

dropwhile(predicate, iterable) #跟compress有异曲同工之妙,都可以筛选,这里的筛选呢是你写一个函数去判断

list(itertools.dropwhile(lambda x: x>5, [1, 7, 6, 2, 1]))

不写了,lay了!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值