1. 程式人生 > >python迭代器和可迭代物件

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))