美文网首页
可迭代对象和迭代器类型

可迭代对象和迭代器类型

作者: 庄周幻梦 | 来源:发表于2021-01-05 21:14 被阅读0次

    可迭代对象(Iterable):凡是可以使用for循环遍历的都是可迭代对象
    数据类型实现了迭代协议:(类里面定义了iter方法)

    迭代器类型(Iterator):也是可迭代对象
    数据类型实现了迭代器协议:

    1. 类里面定义了iter方法(迭代协议)
    2. 类里面定义了next方法
      迭代器能够使用next方法进行迭代操作

    所有的可迭代对象->可以转换为迭代器:
    li=iter([11,22,33])

    from collections.abc import Iterable, Iterator
    
    List = [11, 22, 33]
    print(isinstance(List, Iterable))   # True
    print(isinstance(List, Iterator))   # False
    
    List = iter(List)
    print(isinstance(List, Iterable))   # True
    print(isinstance(List, Iterator))   # True
    

    for循环实现机制:
    迭代器+while循环实现

    def func(a):
        tor = iter(a)
        while True:
            try:
                print(next(tor))
            except StopIteration:
                break
    List = [11, 22, 33]
    func(List)
    

    相关文章

      网友评论

          本文标题:可迭代对象和迭代器类型

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