[python] iterator


🤔 iterable型
List,dict,set,bytes,tuple,rangeなどをループ可能オブジェクトと呼ぶ.データ構造に複数の値を含めることができると考えると、簡単です.
🤔 iteratorオブジェクトとiter()関数
iterable(ループ可能)型はiter()関数で9660;▼iteratorオブジェクトになります.
🤔 next()関数
⚇iteratorオブジェクトはnext()関数を使用して、ループ可能なオブジェクトの次の要素を返します.
🕹 整数型をiter()関数に変換する場合は、iteratorを使用しますか?
n = 100
n_iter = iter(n)

Traceback (most recnet call last):
	File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
整数型変数は⚄▼iterableオブジェクトではないので、iter()関数を使用して⚄▼をiteratorオブジェクトに変換しようとすると、タイプエラーが発生します.
🕹 リストをiter()関数に変換する場合は、iteratorを使用しますか?
# list가 iterable 객체인지 검사
try:
	num_list = [1,2,3,4]
    iterator = iter(num_list)
except TypeError:
	print('list는 iterable 객체가 아닙니다.')
else:
	print('list는 iterable  객체입니다.')
    
출력결과: list는 iterable  객체입니다.
numリストは\iterableなので、iter()関数を使用して\iteratorオブジェクトに変換すると、タイプエラーが発生します.
next()関数
🕹 next()関数を使用して\iteratorオブジェクトの次の要素を取得できます.
num_list = [1,2,3]
type(num_list)
num_list_iter = iter(num_list)
type(num_list_iter)
next(num_list_iter)
さらにnext()メソッドを使用してiteratorオブジェクトの次の要素を取得することもできます.
他にインポートするオブジェクトがない場合、StopIteration例外が発生します.