首页 > 其他 > 详细

第28讲 for循环与文件(迭代器解析)

时间:2015-02-13 01:40:30      阅读:327      评论:0      收藏:0      [点我收藏+]

for只是循环读入文件中的行,不需要判断是否为空

迭代器 iterator

*提供一种方法顺序访问一个聚合对象中的各个元素

*对象是可iterator的

    -Iter-->获取对象的迭代器

    -next-->获取下一个值(迭代器中的next方法)

*for可以遍历iterator_obj

    -List\\string

    -Tunple\\Dict\\set(无序不重复的元素集)

    -File

eg1:

fr=open(‘format.txt‘,‘r‘)

for strs in fr:

    strs=strs.rstrip(‘\\n‘)

    print strs                   #print的逗号表示打印在同一行,没有逗号则是换行打印

print "end reading!"

说明1:

for循环可以通过迭代器不断的调用next函数,把可迭代对象的各个数据依次取出来,一直到迭代器调用next抛出异常(stopIteration),则不可继续迭代。(迭代次数即for循环的执行次数)

eg2:

s=‘www.jeapedu.com‘

si=iter(s)---->内建函数,对字符串生成一个迭代器

type(si)----->可以看到si的类型是iterator

print si.next()---->w

print si.next()---->w

print si.next()---->w

print si.next()---->.

print si.next()---->j

print si.next()---->e

print si.next()---->a

...

...

迭代列表

eg3:

Li=[1,2,3,4,5]

Li=iter(Li)

type(Li)---->可以看到Li的类型是iterator

print Li.next()----1

print Li.next()----2

print Li.next()----3

print Li.next()----4

print Li.next()----5

...

...

说明2:

文件也是有序的聚合对象的集合,把文件的 ‘\\n‘ 理解成列表中的逗号,每一行看做是一个元素,所以通过迭代器可以将文件每行取出来

eg4:

fr=open(‘a.txt‘,‘r‘)

type(fr)---->file

fi=iter(fr)

type(fi)----可以看到fi的类型是iterator

print fi.next()

print fi.next()--------------可以看到\t、\n等字符

print fi.next()



第28讲 for循环与文件(迭代器解析)

原文:http://tenderrain.blog.51cto.com/9202912/1614174

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!