Pythonのイテラブルとは何かを現役エンジニアが解説【初心者向け】
初心者向けにPythonのイテラブルとは何かを現役エンジニアが解説しています。イテラブルとは繰り返し可能なオブジェクトのことでリストやタプルやrange関数で作成したオブジェクトのことです。for文でイテラブルなオブジェクトを繰り返し処理してみましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonのイテラブルとは何かを、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

今回は、Pythonに関する内容だね!

どういう内容でしょうか?

Pythonのイテラブルとは何か詳しく説明していくね!

お願いします!
イテラブルとは
イテラブルとは、一言で言うと「繰り返し可能なオブジェクト」のことです。
for文において、文字列や数字を繰り返すことが可能であり、「for i in A:のAの部分に用いることができるもの」といえます。
例えばリスト、タプルやrange関数で生成したオブジェクトなどがイテラブルに該当します。
イテレータとは
イテレータとは、「イテラブルオブジェクトを使用した連続データ」のことです。
イテレータは以下のようにiter()という関数を用いて作成することができます。
iter()の引数にはイテラブルを与えてあげる必要があり、イテラブルがなければイテレータを作成できません。
では、実際にイテレータを作成してみましょう。
>>>list_a = [1,2,3,4,5] >>>iter_a = iter(list_a)
これでiter_aという変数にイテレータを格納することができました。
イテレータはnext()という関数を用いて要素を順に取り出すことが可能です。
しかし、リストなどとは違って要素を取り出すごとに、取り出された要素は消滅していくことに注意しましょう。
これがイテレータの最大の特徴です。
実際にコードを書いて確認してみましょう。
>>>print(next(iter_a)) 1 >>>print(next(iter_a)) 2 >>>print(next(iter_a)) 3 >>>print(next(iter_a)) 4 >>>print(next(iter_a)) 5 >>>print(next(iter_a)) StopIteration Traceback (most recent call last) <ipython-input-14-cbbee29b6a81> in <module>
このコードではnext()を呼び出すごとに新たな要素が取得されているのが確認できました。
また、6度目のnext()の実行でStopIterationというエラーになります。
これは、イテレータの中身が空の状態で要素を取り出そうとしたために起きたエラーです。
for文でイテラブルなオブジェクトを処理してみよう
ここでは、for文に対するイテラブルなオブジェクトを用いてみましょう。
for i in range(9): print(i)
上のコードは普段から何気なく使うfor文です。
しかし、for文では「StopIterationが起きたらfor文から抜ける」といった処理が内部的に行われています。
つまり、for文にも内部的にイテレータが使われているということです。
イテレータを用いることのメリットについての詳細には、ここではふれません。
しかし、for文の機能を作るためには必要な仕組みでだといえます。
まとめ
この記事では、イテラブルやイテレータについて解説しました。
再度まとめると、イテラブルとは「for i in AのAの部分に用いることができるオブジェクト」、イテレータとは、「イテラブルオブジェクトを使用した連続データ」のことです。
ややこしい部分ではあるものの、これからPythonを勉強するうえで必要な部分もあるため、知識として知っておきましょう。
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
執筆してくれたメンター
柴山真沙希(しばやままさき)
大手IT企業などでエンジニアとして2年ほど勤務した後、個人事業主としてプログラミングスクール「エンペサール」を経営。 子供から大人まで幅広い層を対象にプログラミングを教えている。 得意言語はPython, HTML, CSSで、機械学習やデータ分析、スクレイピングなどが得意。 サッカー観戦や読書が趣味である。 |

Pythonのイテラブルがどんなものなのか分かったので良かったです!

ゆかりちゃん、これからも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)