美文网首页
python3学习笔记:手动访问迭代器中的元素

python3学习笔记:手动访问迭代器中的元素

作者: 潼潼夏 | 来源:发表于2020-02-26 16:28 被阅读0次

    问题

    不使用for循环,处理某个可迭代对象中的元素。

    解决方案

    要手动访问可迭代对象中的元素,可以使用next()函数,然后自己编写代码来捕捉StopIteration异常。例如,采用手工的方式从文件passwd中读取文本行:

    #passwd
    123abc
    aaa
    dedeow
    345dibe
    
    with open('passwd') as f:
        try:
            while True:
                line = next(f)
                print (line, end='')
        except StopIteration:
            pass
    #输出结果
    #123abc
    #aaa
    #dedeow
    #345dibe
    

    一般来说,StopIteration异常是用来通知我们迭代结束的,但是,如果是手动使用next(),也可以命令它返回一个结束值,比如说None。示例如下:

    with open('passwd') as f:
        while True:
            line = next(f,None)
            if line is None:
                break
            print (line, end='')
    #输出结果
    #123abc
    #aaa
    #dedeow
    #345dibe
    

    相关文章

      网友评论

          本文标题:python3学习笔记:手动访问迭代器中的元素

          本文链接:https://www.haomeiwen.com/subject/czdbchtx.html