美文网首页
python的迭代器

python的迭代器

作者: 原来不语 | 来源:发表于2019-01-20 23:20 被阅读0次

什么是迭代器?
迭代器是访问集合内元素的一种方式,一般用力啊遍历数据,迭代器和以下标的访问方式不一样,迭代器是不能返回的,迭代器提供了一种惰性方式数据的方式,迭代器不支持切片
list 是一个可迭代对象,却不是迭代器。
自定义实现一个迭代器

from collections.abc import Iterator

class Company(object):
"""docstring for Company"""
def __init__(self, employee_list):
    self.employee = employee_list

def __iter__(self):
    return MyIterator(self.employee)
class MyIterator(Iterator):
def __init__(self, employee_list):
    self.iter_list = employee_list
    self.index = 0

def __next__(self):
    
    #真正返回迭代值的逻辑
    try:
        word = self.iter_list[self.index]
    except IndexError:
        raise StopIteration
    self.index += 1
    return word

if __name__ == '__main__':
company = Company(['tom', 'bob', 'jane'])
my_itor = iter(company)
while True:
    try:
        print(next(my_itor))
    except StopIteration:
        pass

相关文章

网友评论

      本文标题:python的迭代器

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