オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,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] 未経験からWebエンジニアを目指す方法とは

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()を使ってみかんから順番に要素を取り出して表示させています。

取り出す要素がなくなるとStopIteration例外が発生するので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では、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

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