python迭代器和可迭代对象

迭代器

  • 定义:能够使用for-in进行遍历,并且能够使用next依次获取其中一个元素。

  • 说明:

    • 生成器就是一种特殊的迭代器
    • 判断一个对象是不是迭代器
    from collections import Iterator
    
    # lt = [i for i in range(10)]
    lt = (i for i in range(10))
    
    print(isinstance(lt, Iterator))
    
    • 字符串、列表、元组、字典等都不是迭代器,它们都是可迭代对象。

可迭代对象

  • 定义:可以使用for-in进行遍历的对象,都是可迭代对象。

  • 说明:

    • 前面学过的容器类型都是可迭代对象。
    • 迭代器一定是可迭代对象
  • 判断:一个对象是否可迭代

    from collections import Iterable
    
    lt = [1, 2, 3]
    
    print(isinstance(lt, Iterable))
    
  • iter:将可迭代对象转换为迭代器

    from collections import Iterable, Iterator
    
    lt = [1, 2, 3]
    # 将一个可迭代对象转换为迭代器
    lt = iter(lt)
    
    print(isinstance(lt, Iterable))
    print(isinstance(lt, Iterator))
    

猜你喜欢

转载自blog.csdn.net/chen1042246612/article/details/84192142