暇つぶし2chat TECH - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト610:デフォルトの名無しさん 20/08/13 11:43:13.98 CM5c4LB7.net リストとイテレータの違いがよくわからないのですが、かんたんナ... - Yahoo!知恵袋 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12229812432 これでは分らなかったのか 611:デフォルトの名無しさん 20/08/13 12:28:04 0rwjVY3B.net なるほど、なんとなくわかったです 612:デフォルトの名無しさん 20/08/13 12:48:37 BKihMO2y.net foo = [1,2,3] foo_iter = iter(foo) next(foo_iter) #=> 1 next(foo_iter) #=> 2 next(foo_iter) #=> 3 next(foo_iter) #=> StopIteration イテレータはnext()が呼ばれたら次の要素を1つ返すオブジェクト 内部でどこまで返したか覚えておく必要があるので状態を記録してるかというと記録してる for x in foo: って書けば iter(foo)して、next()を呼んで、得られた値をxに代入して、loop内の処理へ渡してる ジェネレータは一般的には呼ばれたら1つ1つ値を生成して返す関数でイテレータの一種 ジェネレータではないイテレータは1つ1つ値を生成するんじゃなく すでに用意されたリストなどから順に値を1つずつ返すもの なので作り置きから注文の都度1つずつ返すのもイテレータ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch