如何对迭代器做切片操作 如只取文件内容的100行到300行的内

    解决方案:使用标准库中的itertools.islice 它能返回一个迭代对象切片的生成器、
    islice(iterable,start,stop,step)

    正常操作
    f = open('/var/log/dmesg')
    lines = f.readlines() #文件太大不好
    lines[100,300]

    f.seek(0) #文件指针恢复 指向开头

    

    from itertools import islice

    #islice(f,100,300) 100-300之间 最终是这样的
    
    for line in islice(f,100,300): #100行至300行之间
        print line

    islice(f,500) #前500行   
    islice(f,100,None) #100行到文件末尾

 xs =[a,b,c,d,e,f,g,h,i,j,k,l,m,n]
 for x in islice(xs,5,10):
     print x #输出 f,g,h,i,j

 注意:如果继续迭代 xs 则会从k开始循环
 for t in xs:
     print t #输出k l m n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值