Python迭代器

  • 凡是可做用於for循環的對象都是Iterable類型;
  • 凡是可做用於next()函數的對象都是Iterator類型,它們表示一個惰性計算的序列(迭代器);
  • 集合數據類型如list、dict、str等都是Iterable但不是Iterator,不過能夠經過iter()函數得到一個Iterator對象;
  • Python的for循環本質上就是經過不斷調用next()函數實現的,例如:
    1 for x in rang(5):
    2     pass

    實際上徹底等給於:函數

     1 # 首先得到Iterator對象:
     2 it = iter([0,1,2,3,4])
     3 # 循環:
     4 while True:
     5     try:
     6         # 得到下一個值
     7         x = next(it)
     8     except StopIteration:
     9         # 遇到StopIteration就退出循環
    10         break
相關文章
相關標籤/搜索