Python零基礎學習筆記(二十三)——迭代器
from collections import Iterable, Iterator
```
可迭代物件:可以直接作用於for迴圈的物件統稱為可迭代物件
(Iterable) 可以用isinstance()去判斷一個物件是否是Iterable物件
可以直接作用於for的資料型別一般分兩種
1、集合類資料型別:list、 tuple、 dict、 set、 string
2、是generator,包括生成器和帶yield的generator function
```
print(isinstance([],Iterable))
print(isinstance((),Iterable))
print(isinstance({},Iterable))
print(isinstance("",Iterable))
print(isinstance((x for x in range(10)),Iterable))
print(isinstance(1,Iterable))
```
迭代器:不但可以作用於for迴圈,還可以被next()函式不斷的呼叫並返回下一個值
直到最後丟擲一個StopIteration錯誤表示無法繼續返回下一個值
可以被next()函式呼叫並不斷返回下一個之的物件稱為迭代器
(Iterator物件)
可以用isinstance()函式判斷一個物件是否是可迭代物件
```
print(isinstance([],Iterator))
print(isinstance((),Iterator))
print(isinstance({},Iterator))
print(isinstance("",Iterator))
print(isinstance((x for x in range(10)),Iterator))
l = (x for x in range(4))
print(l)
print(next(l))
print(next(l))
print(next(l))
print(next(l))
lq = (x for x in [1, 2, 3, 5])
print(next(lq))
print(next(lq))
print(next(lq))
print(next(lq))
#同理tuple、dict、set、string都可以
#轉換成Iterator物件
a = iter([2, 4, 6])
print(next(a))
print(next(a))
print(next(a))
print(isinstance((a), Iterator))
endstr = "end"
str = ""
for line in iter(input, endstr):
str += line + "
"
print(str)
相關文章
- Python零基礎學習筆記(二十五)——裝飾器Python筆記
- Python學習筆記 - 迭代器和生成器Python筆記
- Python零基礎學習筆記(十五)——list(列表)Python筆記
- Python學習筆記|Python之索引迭代Python筆記索引
- Python零基礎學習筆記(九)——隨機數Python筆記隨機
- Python零基礎學習筆記(四十)——datetime和CalendarPython筆記
- Python零基礎學習筆記(三十)——讀檔案Python筆記
- Python零基礎學習筆記(二十二)——setPython筆記
- Python零基礎學習筆記(二十)——tuple元組Python筆記
- Python零基礎學習筆記(三十五)——記憶體修改Python筆記記憶體
- Python零基礎學習筆記(二十四)——函式Python筆記函式
- Python零基礎學習筆記(二十一)——dict字典Python筆記
- Python零基礎學習筆記(二)——資料的儲存Python筆記
- Python基礎學習筆記Python筆記
- Python零基礎學習筆記(二十八)——異常處理Python筆記
- Python學習迭代器(Iterator)Python
- Python零基礎好學嗎?零基礎如何學習Python?Python
- python零基礎學習Python
- 零基礎學習pythonPython
- python基礎學習筆記(一)Python筆記
- Python零基礎學習筆記(二十六)——變數的作用域Python筆記變數
- Python零基礎學習筆記(十八)——break語句和continue語句Python筆記
- Python零基礎學習筆記(三十二)——list/tuple/dict/set檔案操作Python筆記
- python基礎學習筆記(紙質)Python筆記
- Python學習筆記 - 裝飾器Python筆記
- 零基礎學習Python__小甲魚第一課筆記與課後練習Python筆記
- Python學習之迭代器協議Python協議
- 零基礎學習Java開發,這些學習筆記送給你!Java筆記
- 零基礎學習Java開發,這些學習筆記送給你Java筆記
- 零基礎學習 Python 之字串Python字串
- 零基礎如何迅速學習python?Python
- 零基礎Python學習路線Python
- Python機器學習筆記:sklearn庫的學習Python機器學習筆記
- 學習筆記(二十三):ArkTS語言-模組筆記
- 【筆記】《Python大戰機器學習》筆記Python機器學習
- 組合語言零基礎入門學習筆記(一)組合語言筆記
- Python學習之旅(二十三)Python
- 零基礎學習 Python 之閉包Python