• 09.Python基础--迭代器


    迭代器的原理:

    大多数的容器都是可以用for来循环遍历的,这种形式的访问清晰、简洁、方便。迭代器的用法在 Python 中普遍而且统一

    迭代器由类来编写实现

    迭代器的内部工作原理?

    第一.  for语句在容器对象中调用iter()函数

    第二.  该函数返回一个定义了 __next__()方法的迭代器对象,它在容器中逐一访问元素

    第三.  没有后续的元素时, __next__() 抛出一个 Stoplteration 异常通知 for 语句循环结束

    我们自建一个迭代器看看!

    class my_dl(object):
        """Iterator for looping over a sequence backwards."""
        def __init__(self, data):
            self.begin = -1
            self.data = data
            self.index = len(data)
        def __iter__(self):
            return self
        def __next__(self):
            if self.index == 0:
                raise StopIteration
            self.index = self.index -1
            self.begin += 1
            return self.data[self.begin]
    rev = my_dl('yai')
    iter(rev)
    for char in rev: print(char)

    自建迭代器,从末尾开始迭代呢?

    class my_dl(object):
        """Iterator for looping over a sequence backwards."""
        def __init__(self, data):
            self.data = data
            self.index = len(data)
        def __iter__(self):
            return self
        def __next__(self):
            if self.index == 0:
                raise StopIteration
            self.index = self.index -1
            return self.data[self.index]
    rev = my_dl('yai')
    iter(rev)
    for char in rev:
        print(char)
  • 相关阅读:
    gcc编译常用选项
    汇编指令随笔
    VIM简单操作
    Linux编译阻塞型驱动遇到'TASK_NORMAL' undeclared (first use in this function)问题解决办法
    Linux中断流程分析
    Linux驱动开发之LED驱动
    函数(三)
    函数(二)
    文件和函数(一)
    文件处理和字符编码
  • 原文地址:https://www.cnblogs.com/zhouA/p/14501552.html
Copyright © 2020-2023  润新知