目次
はじめに
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
関数を使いこなしてみてください!