Python函數(十二)-迭代器

來源:互聯網
上載者:User

標籤:列表   迭代   imp   port   div   name   ext   cti   字串   

字串,列表,元組,字典,集合,產生器這些能通過for迴圈來遍曆的資料類型都是可迭代對象

可通過isinstance判斷是不是可迭代對象

>>> from collections import Iterable>>> isinstance(‘Python‘, Iterable)True>>> isinstance([1,2,3], Iterable)True>>> isinstance((1,2,3), Iterable)True>>> isinstance({‘name‘:‘John‘,‘age‘:22}, Iterable)True>>> isinstance({1,2,3}, Iterable)True>>> isinstance((i*2 for i in range(10)), Iterable)True>>> isinstance(100, Iterable)False

isinstance也可以判斷是不是迭代器

>>> from collections import Iterator>>> isinstance(‘Python‘, Iterator)False>>> isinstance([1,2,3], Iterator)False>>> isinstance((1,2,3), Iterator)False>>> isinstance({‘name‘:‘John‘,‘age‘:22}, Iterator)False>>> isinstance({1,2,3}, Iterator)False>>> isinstance((i*2 for i in range(10)), Iterator)True>>> isinstance(100, Iterator)False

可見可迭代對象不一定是迭代器,但迭代器是可迭代對象

如果要把可迭代對象變為迭代器,可以使用iter()方法

>>> from collections import Iterator>>> isinstance(iter(‘Python‘), Iterator)True>>> isinstance(iter([1,2,3]), Iterator)True>>> isinstance(iter((1,2,3)), Iterator)True>>> isinstance(iter({‘name‘:‘John‘,‘age‘:22}), Iterator)True>>> isinstance(iter({1,2,3}), Iterator)True

迭代器可以用next()方法取資料,跟產生器一樣

Python函數(十二)-迭代器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.