[Python]中級#5-iterable,iteratorオブジェクト
iterable、iteratorオブジェクト
>>> ds = [1, 2, 3, 4]
>>> ir = iter(ds) # iterator 객체를 얻는 방법
# iterator 객체를 통해 값을 하나씩 꺼내는 방법
>>> next(ir) # 첫번째 값 반환
1
>>> next(ir) # 두번째 값 반환
2
>>> next(ir) # 세번째 값 반환
3
>>> next(ir) # 네번째 값 반환
4
以上のコードは以下のように解釈される.iter()
関数が呼び出されると、ds
にアクセス可能なiterator
オブジェクト(リモコン)が生成されます.変数
ir
は、iterator
オブジェクトを参照する.オブジェクトを渡すときに、
next
関数を呼び出して、リストに格納されている値を取得できます.それをリモコンにたとえてわかりやすくするために
ds
リストを制御できるリモコン(反復オブジェクト)が作成されます.リモコンの
next
ボタンを押すだけで、リストの要素を順番にポップアップできます.このとき、すべてのリストの要素を取り出した後、
next()
関数を再度呼び出すと、StopIteration
という異常が発生します.iterable、iteratorオブジェクトの区切り
ではiterableオブジェクトとiteratorオブジェクトの違いは何でしょうか.
iter関数が返すオブジェクトを
iterator
オブジェクトと呼び,iterator
オブジェクトを得ることができるリストなどのオブジェクトをiterable
オブジェクトと呼ぶ.iterable
オブジェクトに対してiter()
関数を呼び出してiterator
オブジェクトを生成する!🔎 リファレンス
中級編熱血Python story 05
Reference
この問題について([Python]中級#5-iterable,iteratorオブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@jollyn/Python-중급-5-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol