【Python入門】Pythonのiter関数とは?使い方と活用方法を徹底解説(Python 3.11)

Python

はじめに

Pythonにはさまざまな組み込み関数があり、効率的なプログラムを書くために活用できます。その中でもiter関数は、イテレータを作成するための重要な関数です。本記事では、iter関数の基本から実践的な活用方法まで詳しく解説します。

iter関数とは?

iter関数は、反復可能(イテラブル)なオブジェクトからイテレータを生成するためのPythonの組み込み関数です。イテレータを使うことで、要素を一つずつ取得しながら処理することが可能になります。

iter関数の基本構文

iter関数は以下の2つの方法で使用できます。

1. イテラブルオブジェクトからのイテレータ作成

iterator = iter(iterable)

この方法では、リストやタプル、文字列などのイテラブルなオブジェクトからイテレータを作成します。

2. センチネル値を指定したイテレータ作成

iterator = iter(callable, sentinel)

この方法では、関数と終了条件(センチネル値)を指定してイテレータを作成できます。

iter関数の使用例

リストからイテレータを作成

numbers = [1, 2, 3, 4, 5]
iterator = iter(numbers)

print(next(iterator))  # 1
print(next(iterator))  # 2
print(next(iterator))  # 3

このように、iterを使ってリストの要素を順番に取得できます。

文字列からイテレータを作成

string = "Python"
iterator = iter(string)

print(next(iterator))  # P
print(next(iterator))  # y
print(next(iterator))  # t

文字列もイテラブルなので、iter関数を適用できます。

iter関数の応用例

ファイルの読み取りをイテレータで処理

def read_file_line_by_line(file_path):
    with open(file_path, 'r') as file:
        for line in iter(file.readline, ''):
            print(line.strip())

# 実行例("sample.txt"を読み取る)
# read_file_line_by_line("sample.txt")

この方法では、ファイルの終端(空文字列)をセンチネルとして、iter関数を使用しています。

無限ループを制御する

import random

def random_numbers():
    return random.randint(1, 10)

iterator = iter(random_numbers, 7)

for num in iterator:
    print(num)

この例では、ランダムな数値を生成し、7が出た時点でループを終了するように制御しています。

まとめ

iter関数は、イテラブルオブジェクトからイテレータを作成したり、センチネル値を指定して関数の実行を制御したりするのに便利です。特に、ファイルの読み取りや無限ループの制御などの実用的な場面で活用できます。

Pythonの組み込み関数を理解して活用することで、より柔軟で効率的なコードを書くことができます。ぜひ、iter関数を使いこなしてみてください!