zoukankan      html  css  js  c++  java
  • python 自定义 list

    class MyList(object):
    
        def __init__(self):
            self.items = []
    
        def __iter__(self):
            return MyListIterator(self.items)
    
        def addItem(self, item):
            self.items.append(item)
            print("保存了:", item)
    
    
    class MyListIterator(object):
    
        def __init__(self, items):
            self.items = items
            self.index = 0
    
        def __iter__(self):
            pass
    
        def __next__(self):
            if self.index < len(self.items):
                data = self.items[self.index]
                self.index += 1
                return data
            else:
                raise StopIteration
    
    
    if __name__ == '__main__':
        my_list = MyList()
        my_list.addItem("张飞")
        my_list.addItem("关羽")
        my_list.addItem("刘备")
        my_list.addItem("郭嘉")
    
        m_iter=iter(my_list)
        x=next(m_iter)
        print(x)
    
        for value in my_list:
            print(value)
    
    

    迭代器_斐波那契数列.py

    class Fibnacci(object):
    
        def __init__(self, num):
            self.num = num
            self.a = 1
            self.b = 2
            self.current_index = 0
    
        def __iter__(self):
            return self
    
        def __next__(self):
            if self.current_index < self.num:
                data = self.a
                self.a, self.b = self.b, self.a + self.b
                self.current_index += 1
                return data
            else:
                raise StopIteration
    
    
    if __name__ == '__main__':
        fib = Fibnacci(5)
    
        print(next(fib))
        print(next(fib))
        print(next(fib))
        print(next(fib))
        print(next(fib))
        print(next(fib))
        print(next(fib))
        print(next(fib))
    
        # print("")
        #
        # for fibc in fib:
        #     print(fibc)
    
    
  • 相关阅读:
    C++ 虚函数
    一个 CTF Crypto 题解
    关于 CTF 图片相关题目的一些套路
    无迹卡尔曼滤波(Unscented Kalman Filter)
    python机器学习之决策树
    Python:针对出现的ModuleNotFoundError: No module named '×××'
    模糊综合评价
    层次分析法
    matlab练习3
    matlab常用命令
  • 原文地址:https://www.cnblogs.com/lautung/p/13878426.html
Copyright © 2011-2022 走看看