Pythonにおけるiter()の利用方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonにおけるiter()の利用方法について現役エンジニアが解説しています。iter()はリストやタプルなど複数の要素を持つデータに対して、イテレータに変換する処理を行う関数です。その結果、要素を最初から順番に取り出すことができます。実際にリストのデータを取得してみます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonにおけるiter()の利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonにおけるiter()の利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事ではPythonにおけるiter()の利用方法について解説します。
 

iter()とは?

iter()はリストやタプルなど複数の要素を持つデータに対して、イテレータに変換することで要素を最初から順番に取り出すことができる機能のことです。要素を取り出すときにはnext()を使います。

一番最初の要素から順番に取り出すことができ、取り出すことができなくなったらStopIteration例外が発生します。
 

iter()の使い方

iter()は以下のように使います。

イテレータ = iter(配列)
要素 = next(イテレータ)

配列やタプルをiter()の引数として設定することでイテレータに変換できます。変換したらイテレータはnext()の引数として設定することで最初の要素を取り出すことができます。もう一度next()を呼び出すと2番目の要素を、さらにもう一度呼び出すと3番目の要素を取り出すことができるといった具合に配列の要素を順番に取り出すことが可能です。

取り出せなくなった時点でStopIteration例外が発生します。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

iter()とnext()を利用してリストデータを取り出してみよう

ではiter()とnext()を利用して配列からリストのデータを取り出すプログラムを作成してみましょう
 

プログラムソースコード

l = ["みかん", "りんご", "バナナ", "パイナップル"]
it = iter(l)
while True:
    try:
        print(next(it))
    except StopIteration:
        break

 

実行結果

みかん
りんご
バナナ
パイナップル

2行目でリストlをiter()を使ってイテレータに変換して変数itに代入しています。while Trueを使うことで特定の条件が来るまで繰り返す処理を書いています。5行目でnext()を使いみかんから順番に要素を取り出して表示させています。

取り出す要素がなくなるとStioIteration例外が発生するのでtry-except文を使い例外をキャッチしています。例外が発生するとbreakしてwhile文から抜けることで処理を終わらせています。

ここまでiter()の解説をしてきましたが、実はPythonにおける繰り返し処理でiter()を直接使うやり方はあまり登場しません。

なぜかというとfor文で繰り返し処理をよりシンプルに書くことができるからです。

for文の内部処理を見ると今回紹介したようにiter()とnext()を使っています。なので結果として同じ処理をよりシンプルに書けるのでfor文の方が利用されています。

しかしfor文の中の処理がどのようになされているのかを知ることで繰り返し処理を自分でカスタマイズさせることも可能となります。なのでiter()やnext()の使い方を勉強することはすごく重要なことです。

 

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。
TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

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

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。