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)
    
    
  • 相关阅读:
    陪伴
    休假
    I'm back
    Mysql程序
    Mysql 行转列
    Struts2 设置--Myelipse
    struts2 严重: Error filterStart 原因
    廉价药
    在linux下用tomcat部署java web项目的过程与注意事项
    创建表格式
  • 原文地址:https://www.cnblogs.com/lautung/p/13878426.html
Copyright © 2011-2022 走看看