Python処理集!!反復処理 of for by for for イテレータ編
イテレータ・イテラブルとは?
Pythonの入門書を読んで行くにあたって、
それなりに遭遇するこれらの語に悩まされた方も少なくないはず(ですよね?)
例えばしろちゃは適当に読み飛ばした挙句、
意味が分からなくなってばたんきゅーした覚えがあります
シーケンスだオブジェクトだと、
英語基準のPythonにはどうにも不可解なカタカナ語が多いのが厄介です…
そう思っているのはおばかなしろちゃだけかもしれませんが…小声
イテレータ
前置きが長くなってしまいましたが、
簡単に言うと、イテレータとは
イテレータ(英語: iterator)とは、プログラミング言語において配列やそれに類似する集合的データ構造(コレクションあるいはコンテナ)の各要素に対する繰り返し処理の抽象化である。
イテレータ - Wikipedia
我らがWikipedia大百科様によれば上記が定義となります
要するに、
「要素の数だけ反復処理を行う」
ことだと思っておいておけばいいと思います
いくつか具体例を知り、扱っていけば
おばかなしろちゃでもそれなりに…理解できるようになるでしょう。きっと。いつか。
プログラミングの世界ではかなり色々な場面で用いられています
「イテラブル(な)オブジェクト」の意味
イテラブルなんだかイラテラブルなんだかイラテルブルなんだか、
なかなか判別が難しいところですね
簡単に言えば「イテレータに対応しているオブジェクト」の意となります
つまり、イテラブルオブジェクトはイテレータによる処理が可能というわけです
あとはイテレータの意味さえ分かれば簡単ですね!
イテラブルオブジェクトの例
具体例は挙げればきりがありませんが、代表的なものを羅列しておきます
- 文字列
- リスト
- タプル
- 辞書
- 集合
あくまで一例ですが、これらはイテラブルオブジェクトとなります
また、そうでないデータ型ももちろんあります
例えば、int型はイテラブルオブジェクトではありません
for による反復処理
反復処理の基本、whileとは似て非なるforです
whileは「条件式」に当てはまる限りループを続けますが
forは指定された範囲(回数)内で処理を行います
条件を指定するか、範囲を指定するか
主となる違いはその点だと思います
forの基本
記述は以下の通り
>>> love = ['music', 'cat', 'mom', 'blood', 'pink'] >>> for thing in love: print(thing) music cat mom blood pink >|| <span style="font-size: 80%">病み期かな?</span> loveの大きさだけ処理を繰り返していますね ちなみに、辞書型を処理するとキーが繰り返されます そんなの嫌だというなら、イテラブルなオブジェクトの後ろに 「.value」「.items」を使います すると、それぞれ「値」と「値、キーのタプル」が処理されるようになるのです! ** break による終了 whileにも言えることですが、 breakによってループを中止させることができます 不健全なワードが表示されそうになったらループを脱出しましょう >|python| >>> for thing in love: if thing == 'blood': break print(thing) music cat mom
continue による巻き戻し
continueの扱いもまた、whileと同じです
不健全なワードは消し去りつつ、
そのあとの素敵なワードは是非とも表示しましょう
>>> for thing in love: if thing == 'blood': continue print(thing) music cat mom pink
こうして少女の闇は最小限のキリトリで覆い隠されたのでした
さいごに
ここまで読んで下さってありがとうございます!
例のごとく、参考はオライリー・ジャパン出版の
「入門 Python 3」Bill Lubanovic著
それに加えて
引用は「Wikipedia」でした!
以下、参考書の紹介記事です!