python可迭代對象和迭代器對象



由python內置函數iter得到一個迭代器對象, 由可迭代對象得到迭代器

l = ['1', '2', '3', '4']
s = 'dimples'
for x in l: 
    print x
  • 列表和字符串是可迭代對象
  • 列表滿足了特殊的接口: l.__iter__()
  • 列表調用iter(l),實際上內部調用了l.__iter__()
  • 字符串並沒有這個方法,但是有s.__getitem__()方法
t = iter(l)
print t.next()
print t.next()
print t.next()
print t.next()

輸出:

1
2
3
4

總結:

**for循環工作流程**:

  1. 先由 l 得到一個t(iter(l))對象,
  2. 然後不停的調next,
  3. 直到最終捕獲到一個StopIteration的異常,跳出整個for循環




發佈了86 篇原創文章 · 獲贊 33 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章