Blog Python 用語集

【 Python 】イテレータとイテラブル・オブジェクト

投稿日:

この記事は、for文を知りたいんだけど。という方や、イテラブル・オブジェクトってなんぞ?という方向けの記事となっております。

イテレータってなんぞ?

イテレータはプログラミングにおいて、次の要素を読み込んで繰り返すことを言います。

そして、イテラブル・オブジェクトは、次の要素を読み込んで繰り返すオブジェクトのことを言います。

正直なんだそれ?って感じですね(笑)

しかしながら、このイテラブル・オブジェクトはPythonでのfor文に必要な要素です。

初心者がつまづきそうなポイントを押さえつつ説明しますので、しっかり頭に入れましょう!

イテレータの実際の動き

これをIDLEで実行すると、結果は以下のようになります。

1行目


日本語訳:
samplelistの配列に、「わ」「た」「し」........「す」を順番に格納しなさい。という命令文です。

配列は、変数の中に箱を作ってその中に格納していくイメージです。


簡単な図になりますが、一次元配列はこのようにイメージしてもらえれば分かりやすいと思います。

2行目


この記事の最難関になりますが、iteration_samplelistはsamplelistのイテラブル・オブジェクトですよ。という指定です。

iter()関数でsamplelistを次の要素を読み込めるように、iterator_samplelistに入れ直したことを意味します。

次の行以降で、それが明らかになります。

3行目以降



日本語訳:
現段階のiterator_samplelistを出力し、次のiterator_samplelistに移りなさい。という命令です。next()関数が入っているので分かりやすいですね。

実行結果の最後では、11番目(samplelist[10])には何も入っていないため、「もう入ってないのに、print()しないで」というエラーが表示されます。

まとめ

イテレータは一度わかってしまえば、ごく単純なもので、特にiter()関数は次の要素を読み込めるというだけの関数です。

ここさえ、乗り切ってしまえば、繰り返し処理を理解するのは容易くなるはずですので、イテレートとイテレートされたオブジェクト(イテラブル・オブジェクト)はしっかり抑えておきましょう!

最後までお読みいただきありがとうございました。

  • この記事を書いた人

こなゆき

基本情報処理技術者、応用情報処理技術者取得済み。 現在Pythonとネットワークスペシャリストを【片手間で】勉強中。 全く進みません(笑) プロゲーマー(e-sports)に出れないかなーとストリートファイターVも練習中(笑)

-Blog, Python, 用語集

Copyright© Chico-Goit , 2019 All Rights Reserved.