zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    centos7最小化安装无法tab补全
    rhcsa备战笔记
    idea springboot应用启动
    idea 导入Mapper错误报错设置
    idea 忽略显示文件
    maven 插件jetty/tomcat启动 web 应用
    maven jstl、jsp、servlet依赖
    maven 项目目录图与web 应用结构图对比
    maven 远程仓库、私服及镜像配置
    maven windows环境nexus3.0私服搭建
  • 原文地址:https://www.cnblogs.com/zhouA/p/14501552.html
Copyright © 2011-2022 走看看